[英]HIbernate criteria builder sum with if condition
SQL QUERY: SQL 查询:
SELECT SUM(IF(table.type='type1', 1, 0)) as type1,SUM(IF(table.type='type2', 1, 0)) as type2 from table;
How to write same query in criteria builder like below:如何在标准构建器中编写相同的查询,如下所示:
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Object[]> criteria = builder.createQuery( Object[].class );
Root<Table> root = criteria.from( Table.class );
criteria.multiselect(builder.sum())
I am unable to place if condition in criteria builder.我无法在条件构建器中放置 if 条件。
Note: there is bean class for Table.注意:Table 有 bean 类。 Thanks in advance.
提前致谢。
Apparently hibernate criteria does not support IF .显然休眠标准不支持 IF 。 I would consider just making 2 queries with criteria or using HQL or just native SQL.
我会考虑只使用标准或使用 HQL 或仅使用本机 SQL 进行 2 个查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.