在Hibernate中创建查询

时间:2011-07-13 12:07:59

标签: java hibernate

当我们必须使用

createQuery(String),   

createNamedQuery(String),  

createNativeQuery(String)   

在Hibernate中它们之间有什么区别?

3 个答案:

答案 0 :(得分:17)

  1. CreateQuery :用于创建HQL

  2. createNamedQuery :用于在映射文件或注释中定义具有名称的查询。 See this.

  3. createNativeQuery :用于执行本机/纯SQL查询。 Example

答案 1 :(得分:3)

他们被称为参数的含义不同。

  • createQuery将实际的JP-QL查询作为参数。
  • createNamedQuery将查询的名称作为参数,该参数在别处定义,例如:使用@javax.persistence.NamedQuery注释。
  • 使用SQL查询调用createNativeQuery。

答案 2 :(得分:0)