0
我正在構建Spring Web應用程序,我是JPA的新手,我需要獲取數據庫中特定組中的用戶數。在OneToMany關係中選擇使用條件生成器計數
下面是示例代碼:
public long countAllUsersByGroup(int groupId) {
CriteriaBuilder qb = em.getCriteriaBuilder();
CriteriaQuery<Long> cq = qb.createQuery(Long.class);
cq.select(qb.count(cq.from(User.class)));
//cq.where(qb.equal(cq.from(User.class).get("userGroup").get("id"),groupId));
return em.createQuery(cq).getSingleResult();
}
此代碼的工作,它讓我找回我在這是非常瑣碎的數據庫用戶的數量。
這是我的用戶型號:
public class User {
private String userFirstName;
private String userLastName;
/* some stuff */
@ManyToOne
private Group userGroup;
}
我的組模型註解爲@Id
和命名id
一個int屬性。在這種情況下,如何通過組ID分配用戶的數量?
PS:我已經試過在上面的代碼評論我的嘗試,可惜失敗了......
代碼的方法計數(根)未定義類型CriteriaQuery ...我做錯了什麼? –
TheByeByeMan
2014-09-25 07:56:15
並且不使用ParameterExpression?那麼目的是什麼? – TheByeByeMan 2014-09-25 08:05:33
你從哪裏來的變量「C」! – TheByeByeMan 2014-09-25 08:08:19