@Override public Configuration getHibernateConfiguration() { return hibernateProvider.getHibernateConfiguration(); } }
public Metadata getMetaData() { if (metaData == null) { metaData = newMetaData(getHibernateConfiguration(), getSessionFactory()); } return metaData; }
@Override public boolean isTableExists(Class<?> clazz) { // AThimel 14/06/14 getHibernateConfiguration() may create the schema, prefer using newHibernateConfiguration() which doesn't Configuration configuration = getHibernateProvider().getHibernateConfiguration(); Metadata metaData = getHibernateProvider().getMetaData(); boolean result = TopiaUtil.isSchemaExist(configuration, metaData, clazz.getName()); return result; }
protected void init() { new TopiaConfigurationBuilder().check(configuration); topiaFiresSupport = new TopiaFiresSupport(); sessionRegistry = new TopiaHibernateSessionRegistry(); // First initialize all the services initServices(); // ToPIA's schema init if (isInitSchema()) { if (log.isInfoEnabled()) { log.info("Schema initialization enabled"); } initSchema(); } else { if (log.isInfoEnabled()) { log.info("Schema initialization disabled"); } } // AThimel 14/06/14 Make sure this method is called AFTER ToPIA's schema init, otherwise Hibernate may have created the schema itself // The next line will trigger the Configuration#buildMappings() method which really initializes Hibernate getHibernateProvider().getHibernateConfiguration(); }
public SessionFactory getSessionFactory() { if (hibernateSessionFactory == null) { Configuration effectiveHibernateConfiguration = getHibernateConfiguration(); hibernateSessionFactory = TopiaUtil.newSessionFactory(effectiveHibernateConfiguration); EventListenerRegistry eventListenerRegistry = getHibernateService(hibernateSessionFactory, EventListenerRegistry.class); TopiaHibernateEventListener listener = new TopiaHibernateEventListener(sessionRegistry); eventListenerRegistry.appendListeners(EventType.PRE_INSERT, listener); eventListenerRegistry.appendListeners(EventType.PRE_LOAD, listener); eventListenerRegistry.appendListeners(EventType.PRE_UPDATE, listener); eventListenerRegistry.appendListeners(EventType.PRE_DELETE, listener); eventListenerRegistry.appendListeners(EventType.POST_INSERT, listener); eventListenerRegistry.appendListeners(EventType.POST_LOAD, listener); eventListenerRegistry.appendListeners(EventType.POST_UPDATE, listener); eventListenerRegistry.appendListeners(EventType.POST_DELETE, listener); // following listeners must be called before hibernate eventListenerRegistry.prependListeners(EventType.SAVE_UPDATE, listener); } return hibernateSessionFactory; }