java – Hibernate子查询

前端之家收集整理的这篇文章主要介绍了java – Hibernate子查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在使用Hibernate创建子查询时遇到问题.不幸的是,Subqueries类几乎完全没有文档,所以我完全不知道如何将以下sql转换为Hibernate Criteria:
SELECT id
FROM 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.但我无法找到一个合理的例子,但是这导致我在这里问它.

解决方法

添加如下的eq表达式之前,尝试为“car”属性创建别名:
session.createCriteria(CarParts.class)  
        .createAlias("car","c")  
        .add(eq("c.owner",myCarOwner));

猜你在找的Java相关文章