Java 使用LocalContainerEntityManagerFactoryBean创建会话?
我第一次使用Java 使用LocalContainerEntityManagerFactoryBean创建会话?,java,spring,hibernate,session,jpa,Java,Spring,Hibernate,Session,Jpa,我第一次使用Spring。是否可以使用LocalContainerEntityManagerFactoryBean创建类似于hibernate会话的内容 我熟悉从JPA中的hibernate.cfg.xml和entityManagerFactory创建hibernate会话 但是我如何使用LocalContainerEntityManagerFactoryBean才能对我的数据库执行事务?您必须定义jpa事务管理器,它将配置到您的LocalContainerEntityManagerFactor
Spring
。是否可以使用LocalContainerEntityManagerFactoryBean
创建类似于hibernate会话的内容
我熟悉从JPA中的hibernate.cfg.xml
和entityManagerFactory
创建hibernate会话
但是我如何使用
LocalContainerEntityManagerFactoryBean
才能对我的数据库执行事务?您必须定义jpa事务管理器,它将配置到您的LocalContainerEntityManagerFactoryBean,例如:
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="enginePU" />
<property name="dataSource" ref="dataSource" />
<property name="jpaProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">none</prop>
<prop key="hibernate.default_schema">dbo</prop>
<prop key="hibernate.default_catalog">ab</prop>
</props>
</property>
</bean>
希望有帮助。您想创建
SessionFactory
还是EntityManagerFactory
?@v.ladynev他想创建EntityManagerFactory,因为LocalContainerEntityManagerFactoryBean是创建JPA的FactoryBeanEntityManagerFactory@PragnaniKinnera好的,谢谢@PragnaniKinnera,没错!
<tx:annotation-driven />
@PersistenceContext
protected EntityManager entityManager;
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void persist(Object o) throws IOException {
entityManager.persist(o);
}