Тот же объект выбирается как Lazy, если он доступен во вложенной иерархии

Сценарий - таблица пользователя содержит столбец createBy (userId), который загружается с отложенной загрузкой.

Когда я выбираю список пользователей, некоторые объекты отображаются как ленивые в основном списке пользователей. Когда я проверил, обнаружил, что объекты, которые загружаются лениво, присутствуют как созданный (лениво загруженный) в некоторый другой пользовательский объект в основном списке.

Я приложил скриншоты, чтобы объяснить более подробно. Первый скриншот показывает созданный как пользовательский объект (ленивый). Второй снимок экрана показывает тот же пользовательский объект, что и ленивый, даже если он находится в основном списке извлеченных пользователем.------- 1-е изображение ----- Ленивый вложенный объект, как созданный By ----- 2-е изображение - ---- ленивый основной объект, когда тот же объект ленив во вложенном. Помогите.

что произойдет, скажем, у меня есть 3 пользователя, это моя таблица с именами A, B и C. A создан B., в то время как теперь пользовательский объект создал поле ByBy, которое загружается лениво. Когда я выбираю своих пользователей из БД, используя hibernate, я получаю пользователя A (фактический объект), B (ленивый объект), C(фактический объект). Когда я проверил, я обнаружил, что я получаю B, так как ленивый bcoz B также присутствует в объекте A как поле createBy, и там лениво.

1 ответ

В чем проблема?

Когда объекты загружаются в ленивом формате. вы увидите только минимальную детализацию, как в img 1, UserId. Если вы видите внутри объекта User, как в img 2, все значения являются нулевыми, потому что они связаны с отложенной загрузкой.

При отложенной загрузке значения загружаются только при использовании.

например. Вы можете использовать user.getAccesstoken, и вы увидите его значение.

Другие вопросы по тегам