HibernateTemplate可以与EntityManager共存吗?

Bas*_*igt 5 java spring hibernate jpa

我们有一个spring 3应用程序仍然使用已弃用HibernateTemplate的持久性,并希望迁移到更现代的JPA EntityManager.

是否可以在迁移期间并行使用两个API(甚至可能在单个事务中都使用),以便我们可以在很小的步骤中进行迁移?

或者我们必须做大爆炸吗?

M. *_*num 11

当然,为什么不呢.

最简单的是放弃你LocalSessionFactoryBeanHibernateTransactionManager配置,取而代之的是LocalContainerEntityManagerFactoryBeanJpaTransactionManager分别.

然后获得一个SessionFactoryadd HibernateJpaSessionFactoryBean,它暴露了底层SessionFactoryEntityManagerFactory.

这样两种技术都应该和平共存.

有一些报道称,这样做会导致例外情况No CurrentSessionContext configured!.如果你得到它,你可以添加以下内容persistence.xml

<property name="hibernate.current_session_context_class" value="org.springframework.orm.hibernate4.SpringSessionContext"/>
Run Code Online (Sandbox Code Playgroud)

jpaPropertiesLocalContainerEntityManagerFactoryBean.

<property name="jpaProperties">
    <props>
        <prop name="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
    <props>
<property>
Run Code Online (Sandbox Code Playgroud)