Я выбираю количество (x) объектов Foo, используя Hibernate.У каждого foo есть панель коллекций «один ко многим» и база, которые настроены на ленивую выборку.Мне нужно будет заполнять bar и baz для каждого foo, поэтому я определенно не хочу, чтобы для каждой коллекции выдавался подвыбор (2 * x + 1 выбор).
Однако я также не обязательно хочуsetFetchMode (FetchMode.JOIN) на обоих, потому что это вернет декартово произведение (bar x baz).Кроме того, если я определю foo и bar как списки, я получу дубликаты.Я могу выдать два критерия:
List<Foo> foos;
foo = session.createCriteria(Foo.class).setFetchMode("bar", FetchMode.JOIN).list();
foo = session.createCriteria(Foo.class).setFetchMode("baz", FetchMode.JOIN).list();
, но код выглядит довольно неаккуратно.Похоже, первый запрос был ненужным.Есть ли более аккуратный способ получить как бар, так и баз?