Я использую javax.persistence.criteria.CriteriaBuilder для создания моего запроса.Если в образце я указываю не одно поле, то формируются дополнительные запросы.Как я могу решить эту проблему?
Some{
final Long id;
final String name;
final String code;
}
criteriaQuery = criteriaQuery.select(
criteriaBuilder.construct(
Some.class,
((Path) someJoin.get(SomeClass1_.ID)), // TYPE: LONG
((Path) someJoin.get(SomeClass1_.NAME)), // TYPE: STRING
((Path) someJoin.get(SomeClass2_.CODE)), // TYPE: STRING
)
)
, если я вызову запрос на выполнение, я увижу один SQL-запрос в журналах
Some{
final SomeClass1 someClass1;
final String code;
}
criteriaQuery = criteriaQuery.select(
criteriaBuilder.construct(
Some.class,
someJoin.get(SomeClassN_.SOME_CLASS1)), // TYPE: MY CUSTOME TYPE
((Path) someJoin.get(SomeClass2_.CODE)), // TYPE: STRING
)
)
, если я сейчас вызову запрос на выполнение, я увижу два SQL-запросав логах.Второй запрос - получить SOME_CLASS1 по ID
. Я использую провайдер Hibernate.Я хочу, чтобы мои критерии Query выполняли только один SQL-запрос.
Спасибо