首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个持久化单元的Spring JpaRepositories

具有多个持久化单元的Spring JpaRepositories
EN

Stack Overflow用户
提问于 2014-01-14 08:00:39
回答 1查看 638关注 0票数 2

我有一个多模块Spring应用程序,其中每个模块(jar)都包含自己的persistence.xml。

在jar 1中

Persistence.xml

代码语言:javascript
复制
<persistence-unit name="pu_one" transaction-type="RESOURCE_LOCAL">
    ...
</persistence-unit>

EntityOne.java

代码语言:javascript
复制
@Entity
public class EntityOne {
}

EntityOneRepository.class

代码语言:javascript
复制
interface EntityOneRepository extends JpaRepository<EntityOne, Long> {

} 

在jar 2中: persistence.xml

代码语言:javascript
复制
<persistence-unit name="pu_two" transaction-type="RESOURCE_LOCAL">
    ...
</persistence-unit>

EntityTwo.java

代码语言:javascript
复制
@Entity
public class EntityTwo {
}

EntityTwoRepository.class

代码语言:javascript
复制
interface EntityTwoRepository extends JpaRepository<EntityTwo, Long> {

} 

然后我使用org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager将它们放在一起。

我的问题与JpaRepositories有关,因为它们使用DefaultPersistenceUnitManager配置中定义的默认持久性单元。

有个问题。如何指示每个存储库使用正确的持久性单元?

EN

回答 1

Stack Overflow用户

发布于 2014-01-15 08:29:27

我最终使用了

代码语言:javascript
复制
org.springframework.data.jpa.support.MergingPersistenceUnitManager

而不是

代码语言:javascript
复制
org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager

然后,不同jars中的所有实体将被合并到一个持久性单元中。技巧是将所有持久性单元命名为相同的名称。

然而,我更愿意通知每个存储库使用哪个持久化单元,这目前是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21103767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档