【发布时间】:2013-04-13 02:33:04
【问题描述】:
我是 Java Enterprise 和 JPA 的新手(使用 Netbeans 的 EclipseLink JPA 2.0)。 我正在尝试实现不同项目和包中不同@Entity类之间的链接,但没有成功。
数据库 D1 有一个表 T1 和一个同义词 T2 引用数据库 D2 上的表 T2。
所以我创建了 2 个项目(罐子):
D1-jpa 包含 @Entity package1.T1.class 和 persistence.xml(也映射 T2)
D2-jpa 包含@Entity package1.T2.class 和 persistence.xml
我需要创建一个从 T1 到 T2 的 @OneToOne 关系,以便 T1 具有
@OneToOne
公共 T2 t2;
问题是当我尝试执行简单的 JPQL 查询时:
从 T1 t 中选择 t
翻译后的查询类似于
SELECT t.field1, t.field2, T2_t2 FROM T1 t; -- "T2_t2"??
当我期待某事时 从 T1 t1、T2 t2 中选择 t1.field1、t1.field2、t2.field1
WHERE(连接条件)
你对这个问题有什么解决方案?如果 D1 上的同义词与 D2 上的真实表的名称不同(同义词 TT2 引用 D2 上的 T2 ...)怎么办?
考虑所有。
F.
【问题讨论】:
-
"使用复合持久性单元:可以在复合中的任何实体之间建立映射关系。"这看起来不错,但它与使用从一个数据库到另一个数据库的同义词连接表相同(例如性能)?
标签: jpa netbeans entity eclipselink one-to-one