Создать запрос в Hibernate

Когда мы должны использовать

createQuery(String),   

createNamedQuery(String),  

createNativeQuery(String)   

в Hibernate и в чем разница между ними?

Ответ 2

  • CreateQuery: используется для создания HQL.

  • createNamedQuery. Используется для определения запросов с именем в файле сопоставления или аннотации. Посмотрите это.

  • createNativeQuery: используется для выполнения собственных/чистых SQL-запросов. Пример

Ответ 3

Они различаются по смыслу аргумента, с которым они вызываются.

  • createQuery принимает фактический запрос JP-QL как аргумент.
  • createNamedQuery принимает имя запроса как аргумент, который определен в другом месте, например. с аннотацией @javax.persistence.NamedQuery.
  • createNativeQuery вызывается с SQL-запросом.