Conditional auditing problem
acichon89 Nov 9, 2012 8:34 AMHi, I've followed documentation chapter tutorial "15.8. Conditional auditing".
here is what I've done so far:
Done:
<property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto" >update</prop> <prop key="hibernate.connection.useUnicode">true</prop> <prop key="hibernate.connection.characterEncoding">UTF-8</prop> <prop key="hibernate.jdbc.batch_size">0</prop> <prop key="org.hibernate.envers.audit_table_suffix">_version</prop> <prop key="org.hibernate.envers.revision_field_name">version_id</prop> <prop key="hibernate.listeners.envers.autoRegister">false</prop> </props> </property>
Done:
public class CustomEnversListener extends EnversPostUpdateEventListenerImpl {
private static final long serialVersionUID = 1L;
public CustomEnversListener(AuditConfiguration enversConfiguration) {
super(enversConfiguration);
}
@Override
public void onPostUpdate(PostUpdateEvent arg0) {
System.out.println("!!! just logging entity !! "+arg0.getEntity());
super.onPostUpdate(arg0);
}
}
I overrided extisting EnversIntegrator:
public class CustomEnversIntegrator extends EnversIntegrator {
@Override
public void integrate(Configuration configuration,
SessionFactoryImplementor sessionFactory,
SessionFactoryServiceRegistry serviceRegistry) {
super.integrate(configuration, sessionFactory, serviceRegistry);
final AuditConfiguration enversConfiguration = AuditConfiguration.getFor( configuration, serviceRegistry.getService( ClassLoaderService.class ) );
EventListenerRegistry listenerRegistry = serviceRegistry.getService( EventListenerRegistry.class );
listenerRegistry.appendListeners(EventType.POST_UPDATE, new CustomEnversListener(enversConfiguration));
}
}
I have no idea what to do with it now. Any more explanation, please ?