@Bean public SessionFactory sessionFactory() { return entityManagerFactory().unwrap(SessionFactory.class); }
@Bean public TransactionTemplate txTemplate() throws Exception { TransactionTemplate ret = new TransactionTemplate(); ret.setTransactionManager(transactionManager()); return ret; }
@Bean public HibernateTransactionManager transactionManager() throws Exception { HibernateTransactionManager ret = new HibernateTransactionManager(sessionFactory()); ret.setAutodetectDataSource(false); ret.setDataSource(dataSource); return ret; }
@Bean public HibernateTemplate hibernateTemplate() throws Exception { HibernateTemplate ht = new HibernateTemplate(sessionFactory()); if (DatabaseSupport.getInstance() == null) { DatabaseSupport.setInstance(new DatabaseSupport(HibernateUtils.getDialect())); } return ht; }