Критерии Api Vs QueryDsl Vs метамодель JPA - PullRequest
0 голосов
/ 15 ноября 2018

Я немного смущен этими тремя понятиями.

  • Критерии API
  • Запрос Dsl
  • мета-модель Jpa 2.0

Из того, что я прочитал, одним из основных преимуществ использования метамодели QueryDsl или JPA является безопасность типов.
Но я могу добиться безопасности типов даже с помощью API Criteria. (Я использую JPA с eclipselink)

javax.persistence.EntityManager имеет два варианта

public Query createQuery(String sqlString);   
public <T> TypedQuery<T> createQuery(CriteriaQuery<T> criteriaQuery); 

Я согласен с первой версией, в которой я передаю sql в виде строки, я не получаю безопасность типов Но со второй версией я получаю безопасность типов. Или я что-то здесь упускаю? Может кто-нибудь объяснить на примере, что использование критериев небезопасно.

В чем разница между QueryDsl и статической метамоделью JPA?

1 Ответ

0 голосов
/ 16 ноября 2018

Вы можете использовать метамодель JPA в Criteria API для безопасности типов, но критерии api довольно сложны по сравнению с QueryDSL

...