我正在尝试获取特定组中用户的数量,我已经完成以下操作:
但是,我得到的并不是群组中用户的数量,而是这个数字乘以我的表中所有用户的数量,生成的ORM请求如下:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Long> q = cb.createQuery(Long.class);
q.select(cb.count(q.from(User.class))).where(cb.equal(q.from(User.class).get("userGroup"), groupId));
但是,我得到的并不是群组中用户的数量,而是这个数字乘以我的表中所有用户的数量,生成的ORM请求如下:
Hibernate: select count(*) as col_0_0_ from app_user user0_ cross join app_user user1_ where user1_.user_group=1
编辑:
这是我的用户模型:
public class User {
private String userFirstName;
private String userLastName;
/* some stuff */
@ManyToOne
private Group userGroup;
}
我的群组模型有一个 int 属性,使用 @Id 注释,并命名为 id。在这种情况下,我如何通过群组 id 获取用户数量?