您的位置:首页 > 数据库

hql 和sql 的区别,解决hql 嵌套的问题

2015-07-16 22:22 344 查看
hql是面向对象的,而sql是面向表的。

嵌套查询即 select * from (select * from..)

hql不支持,会报错

如果不需要查询结果和po对象的属性做对应,只是需要结果,则可以直接用createSQLQuery代替createQuery,这样可以返回一个对象数组
session = HibernateUtil.getSessionFactory().getCurrentSession();

Transaction tx = session.beginTransaction();

tx.begin();
Query pm = session.createSQLQuery(querySql.toString());

list = pm.list();

tx.commit();
hibernate中直接使用sql update 的方式同理

Query query= session.createSQLQuery(sql);
query.executeUpdate();

这样就可以用hibernate执行sql语句了   没有任何障碍。
我们用hql就是利用它的简单 便捷 如果为了利用它我们花更多的精力去转sql语句岂不是自找麻烦吗? hibernate的工作设计人员为我们考虑了这一点,所以我们就得以用最简单的方式执行sql了~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: