Возможно ли вызывать элементы (?) Для выбранного набора? - PullRequest
0 голосов
/ 18 сентября 2011

У меня есть две сущности, с которыми они имеют отношения многие ко многим. Например. ВОСПРОИЗВЕДЕНИЕ:

class AEnt {
    //....
    String name;
    Set<BEnt> bs;
 }

class BEnt {
    //....
 }

Я хочу выбрать такие ЗНАКИ, в которых имена их AEnts похожи на «что-то». Мой запрос сейчас такой:

from BEnt b where b in 
     (select elements(a.bs) from AEnt a where a.name like :name)

Но проблема в том, что Hibernate вначале вызывает элементы всех AEnts-BEnts и фактически игнорирует мой фильтр «like». Поскольку у меня есть миллионы отношений AEnt-BEnt, запрос не отвечает. Есть ли способ вызвать элементы только на выбранном наборе AEnts? Или лучше запрос?
Спасибо.

1 Ответ

0 голосов
/ 18 сентября 2011

Я предполагаю, что у вас есть ссылка на AEnt в BEnt - то есть, многие-к-одному, если у вас есть отношение один-к-манту между AEnt и BEnt.Попробуйте это:

from BEnt b where b.a.name like :name
...