Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用LocalContainerEntityManagerFactoryBean创建会话?_Java_Spring_Hibernate_Session_Jpa - Fatal编程技术网

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);
    }