Java 休眠条件:休眠左连接而不关联

Java 休眠条件:休眠左连接而不关联,java,sql,hibernate,hibernate-criteria,criteria-api,Java,Sql,Hibernate,Hibernate Criteria,Criteria Api,我是一个冬眠新手,我有以下问题。正如我所预料的那样。这两个表没有关联。有没有办法通过使用CriteriaAPI获得相同的结果,或者如何通过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%

我是一个冬眠新手,我有以下问题。正如我所预料的那样。这两个表没有关联。有没有办法通过使用CriteriaAPI获得相同的结果,或者如何通过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%');
CriteriaAPI需要一个实体之间的连接,所以我不确定这个连接是否可以使用CriteriaAPI完成。如果您有Hibernate>=5.1,最好使用:

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%');

尽管如此,您仍然可以将SQL查询与Hibernate结合使用,或者更好地在帖子和评论之间创建关联。

由于我是新手,所以在实现方面存在问题。你能给我举一个左连接的例子吗?我加了一个例子。2注意:它需要最新的hibernate,HQL不支持不区分大小写的操作符ilike,因此必须显式使用小写。我没有最新的版本,我必须使用Criteria API。我知道这没有意义,因为实体之间没有路径,但我没有设计db和实体。db中也没有关系(这很疯狂),所以我认为您提供的示例对我也不适用。我需要一个带有DetachedCriteria的示例。这会很好。谢谢你的帮助。