Hibernate -- 使用Hibernate获取最大值(max)的三种方法
使用Hibernate获取最大值(max)的三种方法
获取最大值的三种方法:
1.使用hsql
Integerc=(Integer)dbt.getSession().createQuery("selectmax(a.ArticleId)fromArticlea").uniqueResult();
System.out.println(c);
注意:要加上别名“a”,a.ArticleId注意大小写!否则会出现"无法解释的属性"错误!
2.使用nativesql
sql="selectmax(articleid)maxidfromljarticle";
maxId=(Integer)(session.createSQLQuery(sql).addScalar("maxId",Hibernate.INTEGER)).uniqueResult();
注意:要加上“maxid”标量
3.使用criteria
Integerc=(Integer)dbt.getSession().createCriteria(Article.class)
.setProjection(Projections.projectionList().add(Projections.max("ArticleId")))
.uniqueResult();
同样要注意ArticleId是区分大小写的!