如何使用Hibernate SQL投影查询?

时间:2016-09-29 11:23:37

标签: java hibernate hibernate-criteria

我有一个返回列表的SQL投影查询,但我想要一个结果。这是我的投影查询:

Criteria criteria = getCurrentSession().createCriteria(TbLoyaltytrans.class)
  .add(Restrictions.eq("custid", custId))
  .setProjection(Projections.projectionList()
  .add(Projections.sum("pointin").as("pointin"))
  .add(Projections.sum("pointout").as("pointout"))
  .add(Projections.sqlProjection(
        "(pointin - pointout) as points",  
        new String[]{"points"}, 
        new org.hibernate.type.DoubleType[]{
              new org.hibernate.type.DoubleType()
        }),
        "points")
  );

我想要一个对象,即:上述查询中的count

我对上述查询做错了什么?

1 个答案:

答案 0 :(得分:1)

我假设您正在使用criteria.list()来获取列表。您可以使用criteria.uniqueResult(),它将返回单个Object或null。