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。