我想使用NamedQueries计数表中的元素。
NamedQuery是:
@NamedQuery(name = Advertisement.countBySubcategoryList, query = "select count(*) from Advertisement where subcategoryId IN (:subcategoryId)")
Run Code Online (Sandbox Code Playgroud)
和:
public static final String countBySubcategoryList = "Advertisement.countBySubcategoryList";
Run Code Online (Sandbox Code Playgroud)
在模型中,我使用:
List<Advertisement> advertisements = session.getNamedQuery(Advertisement.countBySubcategoryList)
.setParameterList("subcategoryId", subcategoryIds)
.list();
Run Code Online (Sandbox Code Playgroud)
如何从查询中获取计数值?
您的查询应类似于
select count(a) from Advertisement a where a.subcategoryId IN (:subcategoryId)
Run Code Online (Sandbox Code Playgroud)
你应该这样称呼它
Long count = (Long)session.getNamedQuery(Advertisement.countBySubcategoryList)
.setParameterList("subcategoryId", subcategoryIds)
.uniqueResult();
Run Code Online (Sandbox Code Playgroud)
编辑
返回4之前的Hibernate版本,Integer而不是Long针对这种类型的查询。
| 归档时间: |
|
| 查看次数: |
2705 次 |
| 最近记录: |