转成HQL你的这个t必须是hibernate已经映射好的实体类名里面的adddate要换成对应的属性名

解决方案 »

  1.   

    当然t表已做了实例映射,不然,from t;也肯定出错。
      

  2.   

    当然t表已做了实例映射,不然,from t;也肯定出错。
    做好映射了那么t要换成映射的实体类名,adddate要换成对应的属性名
      

  3.   

    1 hibernate能搞定嵌套查询
    2 既然用了hibernate,就按照它的思路走
      

  4.   

    当然t表已做了实例映射,不然,from t;也肯定出错。
    做好映射了那么t要换成映射的实体类名,adddate要换成对应的属性名
    都换了,只是会报错,貌似报什么max不存在什么的。
    我实例类名与表名相同,实例属性与表字段命名也一样。
    Exception in thread "main" java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.AggregateNode 
     \-[AGGREGATE] AggregateNode: 'max'
        \-[IDENT] IdentNode: 'adddate' {originalText=adddate}
      

  5.   

    当然t表已做了实例映射,不然,from t;也肯定出错。
    做好映射了那么t要换成映射的实体类名,adddate要换成对应的属性名
    都换了,只是会报错,貌似报什么max不存在什么的。
    我实例类名与表名相同,实例属性与表字段命名也一样。
    Exception in thread "main" java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.AggregateNode 
     \-[AGGREGATE] AggregateNode: 'max'
        \-[IDENT] IdentNode: 'adddate' {originalText=adddate}
    找不到max这个方法的话,说明hibernate配置的方言类没有注册这个max,楼主指定的是oracle的哪个方言,你自己可以写个方言类继承它,在构造方法里registerFunction( "max", new StandardSQLFunction("max") );注册下这个max方法就是了
      

  6.   

    但是我记得max方法hibernate的方言本身就注册了啊,楼主确定你的实体类名加 t ?还有小写的类名?