繁体   English   中英

在JPA 2.0中从没有外键的多个表中获取数据

[英]Getting data from multiple tables without foreign keys in JPA 2.0

我已经在追随问题上徘徊了两天,而我无法使其正常工作。 这是问题所在。 我有四个表(A,B,C,D),它们通过任何一种外键都不相互关联。 但是,他们确实有一个名为“ superId”的列。

任务是从A表中获取所有记录,从其他具有匹配的“ superId”(如果存在)的记录中查找,并通过JPA的构造函数表达式返回它们。

关于JOIN。 由于这些表没有关系,因此我无法进行左联接(或任何其他联接)。

我尝试成功使用MULTISELECT,但是只有当我使用'a.superId = b.superId'进行隐式联接时,它才有效。 这会导致问题,因为三个表可能没有匹配的记录,这会使查询返回空集。 这不会飞。

我没有其他想法,这对我的项目至关重要。 请原谅我一个问题的简单说明-通过手机发送。

您绝对不需要外键关系来执行JPA2中的任意查询。

您无法“遵循”父/子关系,因此无法执行通常的parentObject.childObject 您必须改为使用Criteria API或HQL来构建联接。

看到:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM