如何在Hibernate中进行SELECT查询包括子查询COUNT(*)

Ser*_*rin 3 java sql database hibernate java-ee

假设我们有一个类别 - 项目 一对多关系.我想这样做

SELECT c.*, 
   (SELECT COUNT(*) FROM items i WHERE i.catId=c.id)
    AS itemCount
FROM category c
Run Code Online (Sandbox Code Playgroud)

让我们说我们有一个Hibernate POJO"类别".

我的第一个问题是我真的无法弄清楚从那个查询我得到一个List <Category>对象吗?我怎样才能访问"itemCount"?因为没有Category.getItemCount()

其次,我如何编写Criteria查询?

谢谢

Ser*_*rin 6

似乎这是我正在寻找的答案(进入POJO):

@Formula(value="(SELECT COUNT(*) FROM Items i WHERE i.id = id)")
@Basic(fetch=FetchType.EAGER)
public Integer getItemCount() {
   return this.taskCount;
}
Run Code Online (Sandbox Code Playgroud)