I think you have to write an Interceptor like this:
Code:
import org.hibernate.EmptyInterceptor
public class HistoryInterceptor extends EmptyInterceptor {
(....)
public boolean onFlushDirty(final Object pEntity,
final Serializable pId,
final Object[] pCurrentState,
final Object[] pPreviousState,
final String[] pPropertyNames,
final Type[] pTypes)
then you have to check for the entity you are watching and compare previous state with current state and do log what you want.
But be careful, this interceptor is called while Hibernate is flushing the new state to the database.
Carlo
--------------
give me credits if this helped you.