HIbernate标准构建器与if条件求和

时间:2017-09-22 07:10:39

标签: java sql spring hibernate-criteria criteria-api

SQL QUERY:

SELECT SUM(IF(table.type='type1', 1, 0)) as type1,SUM(IF(table.type='type2', 1, 0)) as type2 from table;

如何在条件构建器中编写相同的查询,如下所示:

CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Object[]> criteria = builder.createQuery( Object[].class );
Root<Table> root = criteria.from( Table.class );
criteria.multiselect(builder.sum())

我无法在条件构建器中放置条件。

注意:Table有bean类。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

显然是hibernate criteria does not support IF。我会考虑使用条件或使用HQL或仅使用本机SQL进行2次查询。