在Hibernate中创建查询

当我们必须使用

createQuery(String), createNamedQuery(String), createNativeQuery(String) 

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

  1. CreateQuery :用于创建HQL 。

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

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

它们与所谓的论证的含义不同。

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