java - 如何获得不同的结果,但在选择中返回另一列?

标签 java hibernate hql subquery

我想根据属性获得不同的结果,但在选择中返回 id,因为我将在子查询中使用它。

例如

(List<Article>) session.createQuery("from Article a where a.id in (select distinct a2.title from article a2 where a2.body = :body");
setString("body", "")
.list();

关键部分是子查询,我想返回id,而不是a2.title属性。 这可以吗?

(表 Article 有重复项,所以我只想返回其中任何一个,只要 body = ""就没关系)。

最佳答案

如果您不关心返回哪一行,您可以将子查询更改为:

select MIN(a2.id) from article a2 where a2.body = :body

这将返回 articlebody 匹配的最低 id

关于java - 如何获得不同的结果,但在选择中返回另一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2028824/

相关文章:

java - SQL/HQL查询: find object that has a list of objects that matchs some parameters

java - 2 个数字的范围之和是多少?

java - Android Java SQLite 搜索/匹配问题

java - 带 dotcms 的 jboss 最低配置

java - 如何在JPA中正确实现相关实体的乐观锁

java - HQL java.lang.NumberFormatException : For input string

java - 类对象未显示导入文件中的正确信息;无法找到数据丢失的位置

java - org.hibernate.MappingException : entity class not found: dto. CityDTO

java - 映射异常 : Unknown entity when using Entity subclass as Command

java - hql按年龄查询