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

Программисты JAVA общаются здесь
Anonymous
JPA ленивая загрузка на отдельно

Сообщение Anonymous »

Насколько я читал и слышал, как ленивая загрузка поля на отдельному сущности должна привести к LazyInitializationException, но это не происходит.

Код: Выделить всё

@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List vehicles;
< /code>
и объект транспортного средства < /p>
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "rf_user_id", referencedColumnName = "user_id")
private User user;
< /code>
У меня есть класс, который расширяет commandlinerunner, и внутри его метода выполнения выполняет следующее < /p>
@Override
@Transactional
public void run(String... args) {
User user = userRepository.findById(1L).get();
myService.checkContext(user);
}
< /code>
И вот что MyService.Check Context Bean делает < /pbr /> @Transactional(propagation = Propagation.REQUIRES_NEW)
public void checkContext(User_1toM user) {
Vehicle_Mto1 vehicle = user.getVehicles().get(0);
}

Как я понял, «транзакция« Метод-метод »имеет свой собственный контекст-контент-контекст, а« транзакция CheckContext-Method »имеет свой собственный контекст-контент, поэтому я должен (как я понимаю), чтобы получить LazyIniatizationException , чтобы получить« em> », но я не знаю. /> *log sql показывает, что Hibernate выполняет выбранные данные, чтобы извлечь данные транспортного средства.select vm1_0.rf_user_id,vm1_0.vehicle_id,vm1_0.model from vehicle vm1_0 where vm1_0.rf_user_id=?*
< /code>
Я что -то упускаю? Попытка схватить Hibernate, но я очень смущен этим. /> p.s.s. только удаление транзакции над «запуск» приводит к лейзинициализации Exception в «CheckContext» при получении транспортного средства.


Подробнее здесь: https://stackoverflow.com/questions/796 ... nexception

Вернуться в «JAVA»