Springboot2+hibernate5 sessionFactory配置

老的工程,使用的是Hibernate3,打算升级为SpringBoot工程。底层封装了很多,短时间无法迁移到其他持久化框架,所以分两步,先使用Hibernate过渡,然后再进行其他的迁移。

迁移的过程中,发现sessionFactory无法注入,找了一堆的资料。发现千变一律,都解决不了问题。
最后找到的方法是:

在BaseDaoImpl中配置如下信息。

    @Autowired
    private EntityManagerFactory entityManagerFactory;
    /**获取sessionFactory*/
    public SessionFactory getSessionFactory() {
        return entityManagerFactory.unwrap(SessionFactory.class);
    }

    private HibernateTemplate getHibernateTemplate(){
        return new HibernateTemplate(getSessionFactory());
    }

或者

	@PersistenceContext
    private EntityManager entityManager;

    /**获取sessionFactory*/
    public SessionFactory getSessionFactory() {
        Session session = entityManager.unwrap(Session.class);
        return session.getSessionFactory();
    }
    private HibernateTemplate getHibernateTemplate(){
        return new HibernateTemplate(getSessionFactory());
    }

你可能感兴趣的:(springboot)