Hibernate Criteria:hibernate没有关联就离开了join

时间:2016-11-10 13:44:00

标签: java sql hibernate hibernate-criteria criteria-api

我是一个Hibernate新手,我有以下查询。它按照我的预期工作。这两个表没有关联。有没有办法通过使用Criteria API获得相同的结果或如何通过Hibernate运行此查询?任何帮助将不胜感激。

SELECT p.title, c.content
  FROM posts p
  LEFT JOIN comments c ON p.id = c.post_id
  WHERE p.status = 'A' AND (p.title iLIKE '%r%' OR c.content iLIKE '%r%');

1 个答案:

答案 0 :(得分:0)

Criteria API在实体之间需要path,因此我不确定是否可以使用Criteria API完成此连接。如果您有Hibernate> = 5.1:

,最好使用HQL
select p.title, c.content
from org.example.Posts p
left outer join org.example.Comments c
on p.id = c.id
where p.status = 'A' AND (lower(p.title) LIKE '%r%' OR lower(c.content) LIKE '%r%');

尽管如此,您仍然可以坚持使用Hibernate或更好的SQL查询,在帖子和评论之间创建关联。