Рассмотрим следующие три спящих объекта:
public class Car {
@OneToMany(fetch = FetchType.LAZY)
@Fetch(FetchMode.SUBSELECT)
private List<Wheel> wheels;
}
public class Wheel {
@OneToOne(fetch = FetchType.LAZY)
private Hubcap hubcap;
}
public class Hubcap {
}
Рассмотрим следующие критерии:
Criteria criteria = getSession().createCriteria(Car.class);
List<Car> cars = criteria.list();
for (Car car : cars) {
Hibernate.initialize(car.getWheels());
}
Есть ли способ управления запросом на выборку, который будет сгенерирован? В частности, я хотел бы присоединиться к подэлементу, чтобы колпаки также выбирались при извлечении колес. Это, конечно, может быть достигнуто путем изменения FetchType на EAGER, но мне нужно что-то более специальное - по запросу для каждого запроса.
Поскольку код в настоящее время нужен, мне нужно сгенерировать еще один выбор, чтобы получить Hubcaps.