简体   繁体   English

HIbernate 条件构建器和 if 条件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM