加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Hibernate子查询

发布时间:2020-12-14 05:50:19 所属栏目:Java 来源:网络整理
导读:我在使用Hibernate创建子查询时遇到问题.不幸的是,Subqueries类几乎完全没有文档,所以我完全不知道如何将以下SQL转换为Hibernate Criteria: SELECT idFROM car_partsWHERE car_id IN ( SELECT id FROM cars WHERE owner_id = 123 ) 我希望以下内容“正常工
我在使用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));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读