作为条件查询的一部分,Hibernate分离查询

编程入门 行业动态 更新时间:2024-10-28 12:23:41
本文介绍了作为条件查询的一部分,Hibernate分离查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

您可以请java专家帮我编写分离查询作为以下SQL语句的条件查询的一部分。选择A. * FROM AETABLE A 不存在(选择entryid FROM AETABLE B 其中B.classpk = A.classpk 和B.userid = A.userid 和B.modifiedDate> A.modifiedDate )和userid = 10146

解决方案

您需要编写相关子查询。假设属性/类名匹配上面的列/表名:

DetachedCriteria子查询= DetachedCriteria.forClass(AETable.class,b ) .add(Property.forName(b.classpk)。eqProperty(a.classpk)) .add(Property.forName(b.userid)。eqProperty(a 。)) .add(Property.forName(b.modifiedDate)。gtProperty(a.modifiedDate)); Criteria criteria = session.createCriteria(AETable.class,a) .add(Property.forName(userid)。eq(new Integer(10146))) .add(Subqueries.notExists(subquery);

java experts can you please help me write detached queries as a part of the criteria query for the following SQL statement.

select A.* FROM AETABLE A where not exists ( select entryid FROM AETABLE B where B.classpk = A.classpk and B.userid = A.userid and B.modifiedDate > A.modifiedDate ) and userid = 10146

解决方案

You need to write a correlated subquery. Assuming property / class names match column / table names above:

DetachedCriteria subquery = DetachedCriteria.forClass(AETable.class, "b") .add(Property.forName("b.classpk").eqProperty("a.classpk")) .add(Property.forName("b.userid").eqProperty("a.userid")) .add(Property.forName("b.modifiedDate").gtProperty("a.modifiedDate")); Criteria criteria = session.createCriteria(AETable.class, "a") .add(Property.forName("userid").eq(new Integer(10146))) .add(Subqueries.notExists(subquery);

更多推荐

作为条件查询的一部分,Hibernate分离查询

本文发布于:2023-10-28 05:42:43,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:条件   Hibernate

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!