我已经在跟踪问题上磕磕绊了几天,现在我无法让它发挥作用。这是问题所在。我有四个表(A,B,C,D),它们通过任何类型的外键彼此无关。 Hovewer,他们确实有一个叫做'superId'的专栏。
任务是从A表中获取所有记录,找到匹配'superId'的其他记录(如果存在)并通过JPA的构造函数表达式返回它们。
关于JOIN。由于表没有关系,我不能做左JOIN(或任何其他JOIN)。
我试图成功使用MULTISELECT,但只有在我使用'a.superId = b.superId'进行隐式连接时才有效。这会导致问题,因为这三个表可能没有匹配的记录,这将使查询返回空集。这不会飞。
我没有其他想法,这对我的项目来说至关重要。请原谅我对问题的简单描述 - 从我的手机发送。
答案 0 :(得分:0)
您绝对不需要存在外键关系来在JPA2中执行任意查询。
您无法“关注”父/子关系,因此您无法执行常规的parentObject.childObject
事情。您必须使用Criteria API或HQL构建连接。
请参阅: