2

我有以下两个实体:

@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

}

是否可以在关系实体中编写一个命名查询,它为我提供了拥有超过 2 个地址的用户......?喜欢:

@NamedQuery("SELECT m from Membership m where m.otherfield = ?1 AND m.user.addresses > 2")

换句话说,我如何通过命名查询获得该实体的大小?

谢谢

4

1 回答 1

4

在 JPQL 查询中,可以使用 SIZE 函数来获取集合的大小。它将集合的路径作为参数并返回元素的数量。

于 2012-03-30T02:09:59.187 回答