读书人

hibernate 话语写法

发布时间: 2013-07-01 12:33:04 作者: rapoo

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。

读书人网 >oracle

热点推荐