java - 对象内的 Hibernate 查询列表

标签 java hibernate list mapping one-to-many

我有课

public class Human{

  @OneToMany
  private List<Pets> myPets;
  //other fields here.
}

是否可以查询人类类别并获得宠物数量最多的人类? Hibernate/HQL 可以做到这一点还是我必须手动获取所有人类并查询他们包含的宠物列表?如果是这样怎么办?

最佳答案

HQL 允许您查询列表的大小,如下所示:

select max(h.myPets.size) from Human h

因此,您可以使用它作为内部语句来查找 pet.size 等于 max 的人类对象:

from Human h where h.myPets.size = (select max(h2.myPets.size) from Human h2)

关于java - 对象内的 Hibernate 查询列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16169113/

相关文章:

将 ManyToOne/OneToOne 关系添加到实体时抛出 javax.persistence.RollbackException

mysql - Hibernate、Null 值和 nativeSQL

list - 普通口齿不清 : How to implement reduce

list - 从 Racket 的列表中选择某些项目

java - 在二维数组中使用 split() 方法?

java - Kafka 生产者类未找到异常

java - 如何使用延迟初始化? [延迟初始化异常]

java.net.SocketPermission - 奇怪的行为

java - JavaFX 中不使用 Lambda 表达式的自动完成组合框

c# - 订购元组列表