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

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

Introduction

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

Prototype

EventType FLUSH

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

Click Source Link

Usage

From source file:kr.debop4j.search.tools.SearchTool.java

License:Apache License

/**
 * Hibernate-Search? FullTextIndexEventListener SessionFactory? ?.
 *
 * @param sessionFactory the session factory
 * @param listener       the listener//from w w w . j av a2  s .c o  m
 */
public static void registerFullTextIndexEventListener(SessionFactory sessionFactory,
        FullTextIndexEventListener listener) {
    assert sessionFactory != null;
    log.info("sessionFactory? FullTestIndexEventListener ?... listener=[{}]", listener);

    try {
        HibernateTool.registerEventListener(sessionFactory, listener, EventType.POST_UPDATE,
                EventType.POST_INSERT, EventType.POST_DELETE, EventType.FLUSH);
    } catch (Throwable t) {
        log.warn(
                "listener ?? .  ? ?? ? ? ?.",
                t);
    }
}

From source file:org.cgiar.ccafs.marlo.config.MyIntegrator.java

License:Open Source License

@Override
public void integrate(Configuration configuration, SessionFactoryImplementor sessionFactory,
        SessionFactoryServiceRegistry serviceRegistry) {

    final EventListenerRegistry eventListenerRegistry = serviceRegistry.getService(EventListenerRegistry.class);

    HibernateAuditLogListener hibernateAuditLogListener = new HibernateAuditLogListener();

    AuditColumnHibernateListener auditColumnHibernateListener = new AuditColumnHibernateListener();

    eventListenerRegistry.prependListeners(EventType.POST_UPDATE, hibernateAuditLogListener);
    eventListenerRegistry.prependListeners(EventType.POST_INSERT, hibernateAuditLogListener);
    eventListenerRegistry.prependListeners(EventType.POST_DELETE, hibernateAuditLogListener);

    eventListenerRegistry.prependListeners(EventType.FLUSH, hibernateAuditLogListener);

    eventListenerRegistry.prependListeners(EventType.PRE_INSERT, auditColumnHibernateListener);
    eventListenerRegistry.prependListeners(EventType.PRE_UPDATE, auditColumnHibernateListener);

    LOG.debug("Finished registering Hibernate Event Listeners");

}

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   ww w  . ja  v a2s.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);
    }
}