我有以下两个实体:
@Entity
class Relation{
@ManyToOne
private User user;
//some other fields
...
}
用户实体拥有其他实体的集合:
@Entity
class User {
@OneToMany(mappedBy="user")
private Collection<Address> addresses = new ArrayList<Address>();
}
//some other fields
}
是否可以在Relation实体中编写一个命名查询,它为我提供了超过2个地址的用户......? 喜欢:
@NamedQuery("SELECT m from Membership m where m.otherfield = ?1 AND m.user.addresses > 2")
换句话说,如何通过命名查询获取此实体的大小?
THX
答案 0 :(得分:4)
在JPQL查询中,SIZE函数可用于获取集合的大小。它将集合的路径作为参数并返回元素的数量。