mysql - JPA 中的跨数据库连接

标签 mysql database jpa jpa-2.0 cross-database

是否可以在 JPA 中进行跨数据库表连接?

我在一个数据库中有一个 users 表,它有一个指向另一个数据库中的 organizations 表的外键。两个数据库都在同一台物理机器上。现在 MySQL 允许我编写跨多个数据库的查询,但我不确定如何使用 JPA 执行此操作。

Java POJO 上的@Entity 注释不采用数据库名称,因此无法标记跨数据库关系。

这种情况有解决办法吗?也许使用 native 查询来加载连接的实体?

最佳答案

如果 MySQL 允许您编写跨数据库查询的 SQL,那么您可以在 JPA 中的 native 查询中使用此 SQL。

我假设您正在使用某种数据库链接机制? 如果是这样,那么您也应该能够映射它。您可以将链接数据库的@Table 上的“架构”设置为链接名称。

@Table(name="organizations", schema="org_schema@org_db")

关于mysql - JPA 中的跨数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5855872/

相关文章:

java - 可以将注入(inject)的 EntityManagers 传递给 EJB bean 的帮助类并使用它吗?

javascript - 使用 PHP 的服务器发送事件

mysql - phpmyadmin 和 Codeigniter 的 $this->db->query() 函数的结果不一致

php - 使用 CakePHP 更新查询

mysql - MySQL 表的外键中声明的列后面的括号中的数字代表什么?

mysql - @UniqueConstraint 可空字段

mysql - 列出受相同抗生素影响的细菌对

mysql 日期时间字段匹配查询无法正常工作

mysql - 数据库删除旧条目

java - 在另一个项目中复制 POJO 等 Hibernate 实体的最简洁方法