gpt4 book ai didi

java - 使用 LocalContainerEntityManagerFactoryBean 创建 session ?

转载 作者:行者123 更新时间:2023-12-01 10:21:12 24 4
gpt4 key购买 nike

我是第一次使用Spring。是否可以使用 LocalContainerEntityManagerFactoryBean 来创建类似于 hibernate session 的内容?

我熟悉从 hibernate.cfg.xml 以及 JPA 中的 entityManagerFactory 创建 hibernate session 。

但是如何使用 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>

那么如果您将事务配置为注释驱动:

<tx:annotation-driven />

你可以在你的 daos 中使用entityManager,如下所示:

    @PersistenceContext
protected EntityManager entityManager;


@Override
@Transactional(propagation = Propagation.REQUIRED)
public void persist(Object o) throws IOException {
entityManager.persist(o);
}

希望有帮助。

关于java - 使用 LocalContainerEntityManagerFactoryBean 创建 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35605595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com