List of usage examples for org.hibernate.event.spi EventType PRE_INSERT
EventType PRE_INSERT
To view the source code for org.hibernate.event.spi EventType PRE_INSERT.
Click Source Link
From source file:com.github.javarch.persistence.orm.hibernate.spi.JavarchEventListenerIntegrator.java
License:Apache License
@Override public void integrate(Configuration configuration, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { LOG.info("Adicionando eventos customizados ao EventListenerRegistry."); EventListenerRegistry registry = serviceRegistry.getService(EventListenerRegistry.class); registry.getEventListenerGroup(EventType.PRE_INSERT).appendListener(new PreInsertEventListener()); registry.getEventListenerGroup(EventType.PRE_UPDATE).appendListener(new PreUpdateEventListener()); }
From source file:com.invariantproperties.sandbox.springentitylistener.listener.HibernateEntityListenersConfigurer.java
License:Apache License
@PostConstruct public void registerListeners() { HibernateEntityManagerFactory hemf = (HibernateEntityManagerFactory) emf; SessionFactory sf = hemf.getSessionFactory(); EventListenerRegistry registry = ((SessionFactoryImpl) sf).getServiceRegistry() .getService(EventListenerRegistry.class); registry.getEventListenerGroup(EventType.PRE_INSERT).appendListener(listener); registry.getEventListenerGroup(EventType.POST_COMMIT_INSERT).appendListener(listener); registry.getEventListenerGroup(EventType.PRE_UPDATE).appendListener(listener); registry.getEventListenerGroup(EventType.POST_COMMIT_UPDATE).appendListener(listener); registry.getEventListenerGroup(EventType.PRE_DELETE).appendListener(listener); registry.getEventListenerGroup(EventType.POST_COMMIT_DELETE).appendListener(listener); registry.getEventListenerGroup(EventType.POST_LOAD).appendListener(listener); }
From source file:com.invariantproperties.sandbox.springentitylistener.listener.SpringEntityListenersConfigurer.java
License:Apache License
@PostConstruct public void registerListeners() { // get registry so we can add listeners. HibernateEntityManagerFactory hemf = (HibernateEntityManagerFactory) entityManagerFactory; SessionFactory sf = hemf.getSessionFactory(); EventListenerRegistry registry = ((SessionFactoryImpl) sf).getServiceRegistry() .getService(EventListenerRegistry.class); final Set<Object> listeners = new HashSet<Object>(); EntityManager entityManager = null;//from w w w . j av a 2s. c om try { entityManager = hemf.createEntityManager(); // for every entity known to the system... for (EntityType<?> entity : entityManager.getMetamodel().getEntities()) { // ... register event listeners for it. if (entity.getJavaType().isAnnotationPresent(SpringEntityListeners.class)) { SpringEntityListeners annotation = (SpringEntityListeners) entity.getJavaType() .getAnnotation(SpringEntityListeners.class); for (Class<?> beanClass : annotation.value()) { Map<String, ?> map = context.getBeansOfType(beanClass); listeners.addAll(map.values()); } } } } finally { if (entityManager != null) { entityManager.close(); } } // register adapter and listeners. HibernateEntityListenersAdapter adapter = new HibernateEntityListenersAdapter( new ArrayList<Object>(listeners), entityManagerFactory); registry.getEventListenerGroup(EventType.PRE_INSERT).appendListener(adapter); registry.getEventListenerGroup(EventType.POST_COMMIT_INSERT).appendListener(adapter); registry.getEventListenerGroup(EventType.PRE_UPDATE).appendListener(adapter); registry.getEventListenerGroup(EventType.POST_COMMIT_UPDATE).appendListener(adapter); registry.getEventListenerGroup(EventType.PRE_DELETE).appendListener(adapter); registry.getEventListenerGroup(EventType.POST_COMMIT_DELETE).appendListener(adapter); registry.getEventListenerGroup(EventType.POST_LOAD).appendListener(adapter); }
From source file:debop4k.data.orm.hibernate.HibernateEx.java
License:Apache License
/** * SessionFactory? event listener ? {@link UpdatedTimestampListener} . * * @param factory SessionFactory instance *//*from w w w . j av a 2s . co m*/ public static void registUpdateTimestampEventListener(@NonNull SessionFactory factory) { UpdatedTimestampListener listener = new UpdatedTimestampListener(); registerEventListener(factory, listener, FastList.<EventType<?>>newListWith(EventType.PRE_INSERT, EventType.PRE_UPDATE)); }
From source file:es.logongas.ix3.dao.impl.rules.IntegratorImplRuleEngine.java
License:Apache License
private void prependListeners(EventListenerRegistry eventListenerRegistry) { eventListenerRegistry.prependListeners(EventType.PRE_INSERT, new EventListenerImplRuleEngine()); eventListenerRegistry.prependListeners(EventType.PRE_LOAD, new EventListenerImplRuleEngine()); eventListenerRegistry.prependListeners(EventType.PRE_UPDATE, new EventListenerImplRuleEngine()); eventListenerRegistry.prependListeners(EventType.PRE_DELETE, new EventListenerImplRuleEngine()); eventListenerRegistry.prependListeners(EventType.POST_INSERT, new EventListenerImplRuleEngine()); eventListenerRegistry.prependListeners(EventType.POST_LOAD, new EventListenerImplRuleEngine()); eventListenerRegistry.prependListeners(EventType.POST_UPDATE, new EventListenerImplRuleEngine()); eventListenerRegistry.prependListeners(EventType.POST_DELETE, new EventListenerImplRuleEngine()); }
From source file:kr.debop4j.data.hibernate.tools.HibernateTool.java
License:Apache License
/** * Register update timestamp event listener. * * @param sessionFactory the session factory *///from w w w .j a v a 2 s.c o m public static void registerUpdateTimestampEventListener(SessionFactory sessionFactory) { registerEventListener(sessionFactory, new UpdateTimestampedEventListener(), EventType.PRE_INSERT, EventType.PRE_UPDATE); }
From source file:kr.debop4j.search.AppConfig.java
License:Apache License
@Bean public SessionFactory sessionFactory() { if (log.isInfoEnabled()) log.info("SessionFactory Bean? ?..."); LocalSessionFactoryBean factoryBean = new LocalSessionFactoryBean(); factoryBean.setHibernateProperties(hibernateProperties()); factoryBean.setDataSource(dataSource()); factoryBean.setEntityInterceptor(hibernateInterceptor()); factoryBean.setPackagesToScan(mappingPackages); try {/* ww w . ja va 2 s. c om*/ factoryBean.afterPropertiesSet(); if (log.isInfoEnabled()) log.info("SessionFactory Bean? ?!!!"); SessionFactory sessionFactory = factoryBean.getObject(); // validator listener HibernateTool.registerEventListener(sessionFactory, beanValidationEventListener(), EventType.PRE_INSERT, EventType.PRE_UPDATE, EventType.PRE_DELETE); if (log.isInfoEnabled()) log.info("SessionFactory Bean? ?!!!"); return sessionFactory; } catch (IOException e) { throw new RuntimeException("SessionFactory ? .", e); } }
From source file:net.krotscheck.jersey2.hibernate.factory.HibernateSessionFactoryFactory.java
License:Apache License
/** * This method automatically adds discovered hibernate event listeners into * the hibernate service registry./*from w w w . jav a 2 s.c om*/ * * @param registry The service registry. */ private void injectEventListeners(final ServiceRegistry registry) { EventListenerRegistry eventRegistry = registry.getService(EventListenerRegistry.class); List<PostInsertEventListener> postInsertEvents = locator.getAllServices(PostInsertEventListener.class); for (PostInsertEventListener piEventListener : postInsertEvents) { logger.trace("Registering PostInsert: " + piEventListener.getClass().getCanonicalName()); eventRegistry.appendListeners(EventType.POST_INSERT, piEventListener); } List<PostUpdateEventListener> postUpdateEvents = locator.getAllServices(PostUpdateEventListener.class); for (PostUpdateEventListener puEventListener : postUpdateEvents) { logger.trace("Registering PostUpdate: " + puEventListener.getClass().getCanonicalName()); eventRegistry.appendListeners(EventType.POST_UPDATE, puEventListener); } List<PostDeleteEventListener> postDeleteEvents = locator.getAllServices(PostDeleteEventListener.class); for (PostDeleteEventListener pdEventListener : postDeleteEvents) { logger.trace("Registering PostDelete: " + pdEventListener.getClass().getCanonicalName()); eventRegistry.appendListeners(EventType.POST_DELETE, pdEventListener); } List<PreInsertEventListener> preInsertEvents = locator.getAllServices(PreInsertEventListener.class); for (PreInsertEventListener piEventListener : preInsertEvents) { logger.trace("Registering PreInsert: " + piEventListener.getClass().getCanonicalName()); eventRegistry.appendListeners(EventType.PRE_INSERT, piEventListener); } List<PreUpdateEventListener> preUpdateEvents = locator.getAllServices(PreUpdateEventListener.class); for (PreUpdateEventListener puEventListener : preUpdateEvents) { logger.trace("Registering PreUpdate: " + puEventListener.getClass().getCanonicalName()); eventRegistry.appendListeners(EventType.PRE_UPDATE, puEventListener); } List<PreDeleteEventListener> preDeleteEvents = locator.getAllServices(PreDeleteEventListener.class); for (PreDeleteEventListener pdEventListener : preDeleteEvents) { logger.trace("Registering PreDelete: " + pdEventListener.getClass().getCanonicalName()); eventRegistry.appendListeners(EventType.PRE_DELETE, pdEventListener); } List<PostCommitInsertEventListener> pciEvents = locator.getAllServices(PostCommitInsertEventListener.class); for (PostCommitInsertEventListener cpiEventListener : pciEvents) { logger.trace("Registering PostCommitInsert: " + cpiEventListener.getClass().getCanonicalName()); eventRegistry.appendListeners(EventType.POST_COMMIT_INSERT, cpiEventListener); } List<PostCommitUpdateEventListener> pcuEvents = locator.getAllServices(PostCommitUpdateEventListener.class); for (PostCommitUpdateEventListener cpuEventListener : pcuEvents) { logger.trace("Registering PostCommitUpdate: " + cpuEventListener.getClass().getCanonicalName()); eventRegistry.appendListeners(EventType.POST_COMMIT_UPDATE, cpuEventListener); } List<PostCommitDeleteEventListener> pcdEvents = locator.getAllServices(PostCommitDeleteEventListener.class); for (PostCommitDeleteEventListener cpdEventListener : pcdEvents) { logger.trace("Registering PostCommitDelete: " + cpdEventListener.getClass().getCanonicalName()); eventRegistry.appendListeners(EventType.POST_COMMIT_DELETE, cpdEventListener); } }
From source file:net.krotscheck.jersey2.hibernate.factory.HibernateSessionFactoryFactoryTest.java
License:Apache License
/** * Test the application event injectors. */// w w w. jav a2 s .co m @Test public void testEventInjection() { // Create a fake application. SessionFactory factoryFactory = locator.getService(SessionFactory.class); Assert.assertNotNull(factoryFactory); ServiceRegistry serviceRegistry = ((SessionFactoryImpl) factoryFactory).getServiceRegistry(); EventListenerRegistry eventRegistry = serviceRegistry.getService(EventListenerRegistry.class); EventListenerGroup<PreInsertEventListener> priGroup = eventRegistry .getEventListenerGroup(EventType.PRE_INSERT); assertContainsListener(priGroup); EventListenerGroup<PostInsertEventListener> poiGroup = eventRegistry .getEventListenerGroup(EventType.POST_INSERT); assertContainsListener(poiGroup); EventListenerGroup<PreUpdateEventListener> pruGroup = eventRegistry .getEventListenerGroup(EventType.PRE_UPDATE); assertContainsListener(pruGroup); EventListenerGroup<PostUpdateEventListener> pouGroup = eventRegistry .getEventListenerGroup(EventType.POST_UPDATE); assertContainsListener(pouGroup); EventListenerGroup<PreDeleteEventListener> prdGroup = eventRegistry .getEventListenerGroup(EventType.PRE_DELETE); assertContainsListener(prdGroup); EventListenerGroup<PostDeleteEventListener> podGroup = eventRegistry .getEventListenerGroup(EventType.POST_DELETE); assertContainsListener(podGroup); EventListenerGroup<PostInsertEventListener> pciGroup = eventRegistry .getEventListenerGroup(EventType.POST_COMMIT_INSERT); assertContainsListener(pciGroup); EventListenerGroup<PostUpdateEventListener> pcuGroup = eventRegistry .getEventListenerGroup(EventType.POST_COMMIT_UPDATE); assertContainsListener(pcuGroup); EventListenerGroup<PostDeleteEventListener> pcdGroup = eventRegistry .getEventListenerGroup(EventType.POST_COMMIT_DELETE); assertContainsListener(pcdGroup); }
From source file:org.candlepin.guice.CandlepinContextListener.java
License:Open Source License
/** * There's no way to really get Guice to perform injections on stuff that * the JpaPersistModule is creating, so we resort to grabbing the EntityManagerFactory * after the fact and adding the Validation EventListener ourselves. * @param injector/*from w w w . j a v a2 s . c om*/ */ private void insertValidationEventListeners(Injector injector) { javax.inject.Provider<EntityManagerFactory> emfProvider = injector.getProvider(EntityManagerFactory.class); HibernateEntityManagerFactory hibernateEntityManagerFactory = (HibernateEntityManagerFactory) emfProvider .get(); SessionFactoryImpl sessionFactoryImpl = (SessionFactoryImpl) hibernateEntityManagerFactory .getSessionFactory(); EventListenerRegistry registry = sessionFactoryImpl.getServiceRegistry() .getService(EventListenerRegistry.class); javax.inject.Provider<BeanValidationEventListener> listenerProvider = injector .getProvider(BeanValidationEventListener.class); registry.getEventListenerGroup(EventType.PRE_INSERT).appendListener(listenerProvider.get()); registry.getEventListenerGroup(EventType.PRE_UPDATE).appendListener(listenerProvider.get()); registry.getEventListenerGroup(EventType.PRE_DELETE).appendListener(listenerProvider.get()); }