当前位置: 代码迷 >> Oracle开发 >> hibernate 话语写法
  详细解决方案

hibernate 话语写法

热度:67   发布时间:2016-04-24 07:00:33.0
hibernate 语句写法
今天学习别人写代码时发现这个疑问 

有的这样写 SQLQuery lstQuery = this.getSession().createSQLQuery(sql.toString());
有的这样写 Query lstQuery = this.getSession().createQuery(hql.toString());
这两中写法有什么区别呢?
而且给这两个方法传的参数可以是sql形式也可以是Hql形式的吗?

哪位大牛给小弟解释下啊,不胜感激!

------解决方案--------------------
前者是sql,后者是hql.

public interface Query

An object-oriented representation of a Hibernate query. A Query instance is obtained by calling Session.createQuery(). 

public interface SQLQuery
extends Query

Represents a "native sql" query and allows the user to define certain aspects about its execution.

从上面的定义可以看出SQLQuery继承自Query,因此理论上Query也可以使用本地sql。
------解决方案--------------------
第一个是本地化SQL,第二个是HQL。
  相关解决方案