Example usage for org.hibernate.event.spi EventType AUTO_FLUSH

List of usage examples for org.hibernate.event.spi EventType AUTO_FLUSH

Introduction

In this page you can find the example usage for org.hibernate.event.spi EventType AUTO_FLUSH.

Prototype

EventType AUTO_FLUSH

To view the source code for org.hibernate.event.spi EventType AUTO_FLUSH.

Click Source Link

Usage

From source file:com.blazebit.persistence.integration.hibernate.base.HibernateExtendedQuerySupport.java

License:Apache License

public void autoFlush(Set<String> querySpaces, SessionImplementor sessionImplementor) {
    AutoFlushEvent event = new AutoFlushEvent(querySpaces, (EventSource) sessionImplementor);
    for (AutoFlushEventListener listener : sessionImplementor.getFactory().getServiceRegistry()
            .getService(EventListenerRegistry.class).getEventListenerGroup(EventType.AUTO_FLUSH).listeners()) {
        listener.onAutoFlush(event);//from  w w w. j a  v a  2 s. c  o m
    }
}

From source file:org.granite.tide.hibernate4.Hibernate4ChangeSetIntegrator.java

License:Open Source License

public void integrate(Configuration configuration, SessionFactoryImplementor sessionFactory,
        SessionFactoryServiceRegistry serviceRegistry) {
    final EventListenerRegistry eventListenerRegistry = serviceRegistry.getService(EventListenerRegistry.class);

    try {/*from w ww. ja v  a2  s .  c  o  m*/
        HibernateDataChangePublishListener listener = new HibernateDataChangePublishListener();
        eventListenerRegistry.getEventListenerGroup(EventType.POST_INSERT).appendListener(listener);
        eventListenerRegistry.getEventListenerGroup(EventType.POST_UPDATE).appendListener(listener);
        eventListenerRegistry.getEventListenerGroup(EventType.POST_DELETE).appendListener(listener);
        eventListenerRegistry.getEventListenerGroup(EventType.PRE_COLLECTION_UPDATE).appendListener(listener);

        eventListenerRegistry.getEventListenerGroup(EventType.PERSIST)
                .addDuplicationStrategy(new OverrideWrapStrategy<PersistEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.PERSIST)
                .appendListener(new HibernatePersistListener());
        eventListenerRegistry.getEventListenerGroup(EventType.PERSIST_ONFLUSH)
                .addDuplicationStrategy(new OverrideWrapStrategy<PersistEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.PERSIST_ONFLUSH)
                .appendListener(new HibernatePersistOnFlushListener());
        eventListenerRegistry.getEventListenerGroup(EventType.SAVE_UPDATE)
                .addDuplicationStrategy(new OverrideWrapStrategy<SaveOrUpdateEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.SAVE_UPDATE)
                .appendListener(new HibernateSaveOrUpdateListener());
        eventListenerRegistry.getEventListenerGroup(EventType.MERGE)
                .addDuplicationStrategy(new OverrideWrapStrategy<MergeEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.MERGE)
                .appendListener(new HibernateDataChangeMergeListener());
        eventListenerRegistry.getEventListenerGroup(EventType.DELETE)
                .addDuplicationStrategy(new OverrideWrapStrategy<DeleteEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.DELETE)
                .appendListener(new HibernateDeleteListener());
        eventListenerRegistry.getEventListenerGroup(EventType.LOCK)
                .addDuplicationStrategy(new OverrideWrapStrategy<LockEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.LOCK).appendListener(new HibernateLockListener());
        eventListenerRegistry.getEventListenerGroup(EventType.AUTO_FLUSH)
                .addDuplicationStrategy(new OverrideWrapStrategy<AutoFlushEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.AUTO_FLUSH)
                .appendListener(new HibernateAutoFlushListener());
        eventListenerRegistry.getEventListenerGroup(EventType.FLUSH)
                .addDuplicationStrategy(new OverrideWrapStrategy<FlushEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.FLUSH)
                .appendListener(new HibernateFlushListener());
    } catch (Exception e) {
        throw new RuntimeException("Could not setup Hibernate 4 listeners", e);
    }
}