要从数据库中选择概览,我必须使用如下语句:
select a1.begin, a1.end, b1.name, c1.name, d1.name, e1.name, f1.name, ...
from a2, b1, b2, c1, c2, a1
left outer join (d1 join d2 on d2.id = d1.parent and d1.user = ?) on
d1.deleted = 0 and d1.parent = a1.d1_id
left outer join (e1 join e2 on e2.id = e1.parent and e1.user = ?) on
e1.deleted = 0 and e1.parent = a1.e1_id
left outer join (f1 join f2 on f2.id = f1.parent and f1.user = ?) on
f1.deleted = 0 and f1.parent = a1.f1_id
where .... a lot more stuff...
该语句的作用就像一个魅力,数据库可以快速处理它。相信我,绝对没有其他方法可以获取所需的数据。
直到现在我还很自豪地说,在我们的 java 项目中,我没有一个纯 EJB-QL 甚至 SQL 的词。但是现在我不确定是否有任何方法可以通过使用 CriteriaBuilder 来构建这样的语句。我完全不知道如何创建具有多个条件甚至嵌套内部联接的外部联接。
任何提示都非常感谢。
谢谢亨内斯