执行hibernate的max()等聚合函数

Exception in thread "main" java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.AggregateNode
/-[AGGREGATE] AggregateNode: 'max' 

  String sql="select max(t_fun.id.funId) from TResourceFun as t_fun";
  Object obj=session.createQuery(sql).uniqueResult();
 

这里的查询是返回表中的最大的id值,其中的TResourceFun是与数据库中的T_RESOURCE_FUN表关联的BEAN类,t_fun.id是类TResourceFun中的属性TResourceFunId类型的成员变量,t_fun.id.funId是类TResourceFunId中的属性BigDecimal类型的变量。

public class TResourceFunId implements java.io.Serializable {

 private BigDecimal funId;
 private BigDecimal resId; .........

 }

public class TResourceFun implements java.io.Serializable {

 private TResourceFunId id;
 private String description;
 private String funName;
 private String funUrl;
 private String module;
}

<class name="com.bittt.helper.TResourceFun" table="T_RESOURCE_FUN" schema="DOCMAN">
        <composite-id name="id" class="com.bittt.helper.TResourceFunId">
            <key-property name="funId" type="big_decimal">
                <column name="FUN_ID" precision="22" scale="0" />
            </key-property>
            <key-property name="resId" type="big_decimal">
                <column name="RES_ID" precision="22" scale="0" />
            </key-property>
        </composite-id>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值