private void integrate(SessionFactoryServiceRegistry serviceRegistry) { serviceRegistry.getService( EventListenerRegistry.class ).setListeners( EventType.CLEAR, listener ); }
private void integrate(SessionFactoryServiceRegistry serviceRegistry) { EventListenerRegistry eventListenerRegistry = serviceRegistry.getService( EventListenerRegistry.class ); eventListenerRegistry.setListeners( EventType.PERSIST, buildPersistEventListeners() ); eventListenerRegistry.setListeners( EventType.PERSIST_ONFLUSH, buildPersisOnFlushEventListeners() ); eventListenerRegistry.setListeners( EventType.AUTO_FLUSH, buildAutoFlushEventListeners() ); eventListenerRegistry.setListeners( EventType.FLUSH, buildFlushEventListeners() ); eventListenerRegistry.setListeners( EventType.FLUSH_ENTITY, buildFlushEntityEventListeners() ); }
public CollectionListeners( SessionFactory sf) { preCollectionRecreateListener = new PreCollectionRecreateListener( this ); initializeCollectionListener = new InitializeCollectionListener( this ); preCollectionRemoveListener = new PreCollectionRemoveListener( this ); preCollectionUpdateListener = new PreCollectionUpdateListener( this ); postCollectionRecreateListener = new PostCollectionRecreateListener( this ); postCollectionRemoveListener = new PostCollectionRemoveListener( this ); postCollectionUpdateListener = new PostCollectionUpdateListener( this ); EventListenerRegistry registry = ( (SessionFactoryImplementor) sf ).getServiceRegistry().getService( EventListenerRegistry.class ); registry.setListeners( EventType.INIT_COLLECTION, initializeCollectionListener ); registry.setListeners( EventType.PRE_COLLECTION_RECREATE, preCollectionRecreateListener ); registry.setListeners( EventType.POST_COLLECTION_RECREATE, postCollectionRecreateListener ); registry.setListeners( EventType.PRE_COLLECTION_REMOVE, preCollectionRemoveListener ); registry.setListeners( EventType.POST_COLLECTION_REMOVE, postCollectionRemoveListener ); registry.setListeners( EventType.PRE_COLLECTION_UPDATE, preCollectionUpdateListener ); registry.setListeners( EventType.POST_COLLECTION_UPDATE, postCollectionUpdateListener ); }
public MultipleCollectionListeners(SessionFactory sf) { preCollectionRecreateListener = new PreCollectionRecreateListener(this); initializeCollectionListener = new InitializeCollectionListener(this); preCollectionRemoveListener = new PreCollectionRemoveListener(this); preCollectionUpdateListener = new PreCollectionUpdateListener(this); postCollectionRecreateListener = new PostCollectionRecreateListener( this); postCollectionRemoveListener = new PostCollectionRemoveListener(this); postCollectionUpdateListener = new PostCollectionUpdateListener(this); EventListenerRegistry registry = ( (SessionFactoryImplementor) sf ).getServiceRegistry().getService( EventListenerRegistry.class ); registry.setListeners( EventType.INIT_COLLECTION, initializeCollectionListener ); registry.setListeners( EventType.PRE_COLLECTION_RECREATE, preCollectionRecreateListener ); registry.setListeners( EventType.POST_COLLECTION_RECREATE, postCollectionRecreateListener ); registry.setListeners( EventType.PRE_COLLECTION_REMOVE, preCollectionRemoveListener ); registry.setListeners( EventType.POST_COLLECTION_REMOVE, postCollectionRemoveListener ); registry.setListeners( EventType.PRE_COLLECTION_UPDATE, preCollectionUpdateListener ); registry.setListeners( EventType.POST_COLLECTION_UPDATE, postCollectionUpdateListener ); }
@Override public void integrate( Metadata metadata, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { // As you might expect, an EventListenerRegistry is the thing with which event // listeners are registered // It is a service so we look it up using the service registry final EventListenerRegistry eventListenerRegistry = serviceRegistry.getService( EventListenerRegistry.class ); // If you wish to have custom determination and handling of "duplicate" listeners, // you would have to add an implementation of the // org.hibernate.event.service.spi.DuplicationStrategy contract like this eventListenerRegistry.addDuplicationStrategy( new CustomDuplicationStrategy() ); // EventListenerRegistry defines 3 ways to register listeners: // 1) This form overrides any existing registrations with eventListenerRegistry.setListeners( EventType.AUTO_FLUSH, DefaultAutoFlushEventListener.class ); // 2) This form adds the specified listener(s) to the beginning of the listener chain eventListenerRegistry.prependListeners( EventType.PERSIST, DefaultPersistEventListener.class ); // 3) This form adds the specified listener(s) to the end of the listener chain eventListenerRegistry.appendListeners( EventType.MERGE, DefaultMergeEventListener.class ); }
public class MyIntegrator implements org.hibernate.integrator.spi.Integrator { public void integrate(Configuration configuration, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { // As you might expect, an EventListenerRegistry is the thing with which event listeners are registered // It is a service so we look it up using the service registry final EventListenerRegistry eventListenerRegistry = serviceRegistry.getService( EventListenerRegistry.class ); // If you wish to have custom determination and handling of "duplicate" listeners, you would have to add an // implementation of the org.hibernate.event.service.spi.DuplicationStrategy contract like this eventListenerRegistry.addDuplicationStrategy( myDuplicationStrategy ); // EventListenerRegistry defines 3 ways to register listeners: // 1) This form overrides any existing registrations with eventListenerRegistry.setListeners( EventType.AUTO_FLUSH, myCompleteSetOfListeners ); // 2) This form adds the specified listener(s) to the beginning of the listener chain eventListenerRegistry.prependListeners( EventType.AUTO_FLUSH, myListenersToBeCalledFirst ); // 3) This form adds the specified listener(s) to the end of the listener chain eventListenerRegistry.appendListeners( EventType.AUTO_FLUSH, myListenersToBeCalledLast ); } }
eventListenerRegistry.setListeners( EventType.AUTO_FLUSH, EJB3AutoFlushEventListener.INSTANCE ); eventListenerRegistry.setListeners( EventType.DELETE, new EJB3DeleteEventListener() ); eventListenerRegistry.setListeners( EventType.FLUSH_ENTITY, new EJB3FlushEntityEventListener() ); eventListenerRegistry.setListeners( EventType.FLUSH, EJB3FlushEventListener.INSTANCE ); eventListenerRegistry.setListeners( EventType.MERGE, new EJB3MergeEventListener() ); eventListenerRegistry.setListeners( EventType.PERSIST, new EJB3PersistEventListener() ); eventListenerRegistry.setListeners( EventType.PERSIST_ONFLUSH, new EJB3PersistOnFlushEventListener() ); eventListenerRegistry.setListeners( EventType.SAVE, new EJB3SaveEventListener() ); eventListenerRegistry.setListeners( EventType.SAVE_UPDATE, new EJB3SaveOrUpdateEventListener() );
eventListenerRegistry.setListeners( EventType.AUTO_FLUSH, EJB3AutoFlushEventListener.INSTANCE ); eventListenerRegistry.setListeners( EventType.DELETE, new EJB3DeleteEventListener() ); eventListenerRegistry.setListeners( EventType.FLUSH_ENTITY, new EJB3FlushEntityEventListener() ); eventListenerRegistry.setListeners( EventType.FLUSH, EJB3FlushEventListener.INSTANCE ); eventListenerRegistry.setListeners( EventType.MERGE, new EJB3MergeEventListener() ); eventListenerRegistry.setListeners( EventType.PERSIST, new EJB3PersistEventListener() ); eventListenerRegistry.setListeners( EventType.PERSIST_ONFLUSH, new EJB3PersistOnFlushEventListener() ); eventListenerRegistry.setListeners( EventType.SAVE, new EJB3SaveEventListener() ); eventListenerRegistry.setListeners( EventType.SAVE_UPDATE, new EJB3SaveOrUpdateEventListener() );
); eventListenerRegistry.setListeners( EventType.POST_INSERT, new PostInsertEventListener[]{} ); eventListenerRegistry.setListeners( EventType.POST_INSERT, firstFullTextIndexEventListener ); eventListenerRegistry.addDuplicationStrategy( new HibernateSearchIntegrator.DuplicationStrategyImpl(