Java 如何从不同的数据库获取映射实体?
我从两个不同的数据库模式(Java 如何从不同的数据库获取映射实体?,java,mysql,jpa,multiple-databases,Java,Mysql,Jpa,Multiple Databases,我从两个不同的数据库模式(db1和db2)映射了两个不同的(@OneToOne或@OneToMany)实体。 如果我尝试传统的方法,我得到的错误是关于“db1.entity2不存在””。因为entity1在db1中,entity2在db2中 我试图在findAll()之后用entity2对象填充所有entity1对象。但这需要很多时间(超过20秒) 有没有办法将它们相互映射或快速填充 注意:我不能每次都从数据库中获取所有的entity2数据。因为有很多。 注2:我将尝试通过id列表使用本机查询获
db1
和db2
)映射了两个不同的(@OneToOne
或@OneToMany
)实体。
如果我尝试传统的方法,我得到的错误是关于“db1.entity2不存在”
”。因为entity1
在db1
中,entity2
在db2
中
我试图在findAll()之后用entity2
对象填充所有entity1
对象代码>。但这需要很多时间(超过20秒)
有没有办法将它们相互映射或快速填充
注意:我不能每次都从数据库中获取所有的entity2
数据。因为有很多。
注2:我将尝试通过id列表使用本机查询
获取所需的entity2
对象
我使用最新版本的Spring Boot JPA Projection、MySQL db和Java 11。您可以在JPA注释或xml映射中为entity1添加schema=“db1”,为entity2添加schema=“db2”
如果一个entity1有很多entity2,则将关系声明为LAZY。您可以使用JPQL/Criteria API来获取某些entity2,而不是本机查询
尝试一下Cmobilecom JPA,它在生成SQL时小巧、快速、智能。事实上,问题并不是这样。我已经用模式配置了不同的数据库。我需要一些关于商业逻辑的知识。