Hibernate子查询
我在使用Hibernate创建子查询时遇到问题。不幸的是Subqueries类几乎是完全没有文档的,因此我绝对不知道如何将以下SQL转换为Hibernate
Criteria:
SELECT idFROM car_parts
WHERE car_id IN ( SELECT id FROM cars WHERE owner_id = 123 )
我希望以下内容能够“正常工作”:
session.createCriteria(CarParts.class).add(eq("car.owner", myCarOwner));
但不幸的是,事实并非如此。因此,看来我实际上必须使用Subqueries类来创建Criteria。但是我无法通过Google找到一个合理的例子,因此我不得不在这里提出要求。
回答:
在添加eq表达式之前,尝试为“ car”属性创建别名:
session.createCriteria(CarParts.class) .createAlias("car", "c")
.add(eq("c.owner", myCarOwner));
以上是 Hibernate子查询 的全部内容, 来源链接: utcz.com/qa/403865.html