JPA — принудительная ленивая загрузка только для заданного запроса

Как применить стратегию ленивой загрузки только для заданного NamedQuery.

например. Рассмотрим приведенный ниже псевдокод (просто для объяснения случая) У меня есть объект

@Entity
class Xyz {
 int a;
 int b;

@Fetch = EAGER
 Set<ABC> listOfItems;
}

. В этом случае мы объявили listOfItems, которые будут ОБЯЗАТЕЛЬНО извлекаться.

Теперь предположим, что у меня есть NamedQuery (query="getXyz" , name="select x from Xyz x where a=?") Для этого запроса мне просто нужно, чтобы результат был ленивым, т.е. я не хочу, чтобы listOfItems извлекался.

Какими способами я могу их достичь? p.s.: 1. Я не хочу менять listOfItems на Lazy в классе Entity. 2. Я не хочу выбирать определенные поля в запросе, например name="выбрать a,b из Xyz z, где a =?"

Заранее спасибо за предложения

6
задан Durgadas Kamath 9 June 2012 в 10:51
поделиться