关闭

hibernate执行SQL语句

278人阅读 评论(0) 收藏 举报
分类:

在开发的过程中,使用hibernate查询不是万能的,有时候需要自己写一个SQL,那么hibernate如何执行自己写的SQL呢?

1、查询的不是对象的字段

String sql = "select itemid,count(*) as cnt from v_dev where 1=1 group by itemid";
this.getSession().createQuery(sql)
.addScalar("itemid",Hibernate.STRING)
.addScalar("cnt",Hibernate.INTEGER).list();

 2、查询的是对象的字段

String sql = "select top 1 {e.*} from TABLE_NAME e order by e.updatetime desc";
this.getSession.createSQLQuery(sql).addEntity("e",JAVABEAN.class).list();

 

备注:

1、{e.*}这个“中括号”是不能少的,否则就报错;

2、addEntity("e",JAVABEAN.class)中的e与TABLE_NAME别名一直,后面是对应的Model类

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:326045次
    • 积分:8916
    • 等级:
    • 排名:第2245名
    • 原创:1096篇
    • 转载:14篇
    • 译文:0篇
    • 评论:5条
    最新评论