繁体   English   中英

休眠标准带有投影减去第二个投影的别名

[英]Hibernate criteria Alias with projection minus second projection

我需要按最大字段“ timeStop”减去最小字段“ timeStart”对分组的对象进行排序。 像这样:

ProjectionList projList2 = Projections.projectionList();
projList2.add(Projections.alias(Projections.max("timeStop") - Projections.min("timeStop"), "tim"));//Compilation error

Criteria criteria = sess.createCriteria(Call.class);
criteria.addOrder(up ? Order.asc("tim") : Order.desc("tim"));

我怎样才能做到这一点?

使用sqlProjection

Projections.projectionList()
            .add(Projections.sqlProjection("MAX(timeStop) - MIN(timeStop) AS tim",
                    new String[] { "tim" }, new Type[] {IntegerType.INSTANCE}));

休眠类型可以在org.hibernate.type包中找到

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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