Отдельные критерии |Коллекция, содержащая коллекцию - PullRequest
0 голосов
/ 30 марта 2012

У нас есть 4 таблицы,

Один А Один B | Один B ко многим C | Один C ко многим D

Все настроены двунаправленный и Lazy Fetch.

Я создал отдельные критерии на основе 'B'. И пытается получить A с нетерпением, C с нетерпением, C.D с нетерпением.

Как вы знаете, C - это набор, а D - также набор в C.

Как мне это сделать? Я попытался установить fetchmode в EAGER. Это не сработало, и я получаю LazyInitializationException.

Пожалуйста, помогите.

Спасибо.

1 Ответ

1 голос
/ 30 марта 2012

Это вам поможет.

DetachedCriteria subCriteria = DetachedCriteria.forClass(A.class, "_A");

subCriteria.createAlias("_A.B", "_B");
subCriteria.createAlias("_B.C", "_C");
subCriteria.createAlias("_C.D", "_D");
subCriteria.add(Restrictions.eq("_D.id", 10));
subCriteria.setProjection(Projections.property("_D.id"));

criteria = subCriteria.getExecutableCriteria(session);

List list = criteria.list();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...