Имеет ли querydsl те же ограничения, что и JPA Criteria API?

JPA Criteria API имеет ряд важных ограничений. Например:

  • нет поддержки правому внешнему соединению
  • поддержка left-external-join только в том случае, если отношение в сущностях находится в одном направлении
  • нет поддержки подзапроса ни в SELECT, ни в предложениях FROM

Есть ли QueryDsl querydsl-jpa страдают от таких же ограничений?

Как насчет QueryDsl querydsl-sql?

РЕДАКТИРОВАТЬ: Из документации QueryDsl (без конкретного опыта работы с ним), QueryDsl предоставляет два класса запросов JPAQuery а также JPASQLQuery, Первый, похоже, имеет то же ограничение, что и JPA Criteria API, но JPASQLQuery не кажется Если я найду время, я углублюсь в код и попробую его. Но если кто-то уже что-то знает об этом, тогда пожалуйста!

1 ответ

Решение

Ваше предположение верно. Querydsl JPA имеет те же ограничения, что и упомянутые три ограничения также являются ограничениями JPQL, языка запросов JPA.

JPAQuery для JPQL-запросов и JPASQLQuery для JPA собственных (SQL) запросов.

Другие вопросы по тегам