/ / в чому різниця між lazy = "true" та fetch = "select" у сплячому режимі? - сплячий, ліниво-оціночний

у чому різниця між lancy = "true" і fetch = "select" у сплячому режимі? - сплячий режим, лінь-оцінка

The lazy=true атрибут - увімкнути ледаче завантаження батьківських і дочірніх колекцій і те саме fetch="select" атрибут. Чи є різниця між lazy="true" і fetch="select" в сплячому режимі ?.

Відповіді:

21 для відповіді № 1

Так.

The lazy атрибут говорить сплячий коли щоб отримати дітей.

The fetch атрибут говорить сплячий як щоб отримати дітей.

Коли ти говориш

Атрибут lazy = true - це ввімкнути ледаче завантаження батьків і дитини Колекції та те саме fetch = "select" атрибут

це неправильно. Вибір стратегії вибору НЕ те саме, що відключення ледачого завантаження. Насправді, з документації

Виберіть отримання: другий SELECT використовується для отримання асоційованого сутність або колекція. Якщо ви явно не відключите ледачий пошук задаючи lazy = "false", цей другий вибір буде виконаний лише тоді, коли Ви отримуєте доступ до асоціації.


13 за відповідь № 2

Коли ми говоримо fetch="select", то він завжди буде запускати окремі запити для отримання об’єктів асоціації, навіть якщо вони є lazy ="false".

Але коли ми кажемо lazy ="true", це означає, що він отримає об’єкти асоціації в окремому запиті, але не під час завантаження об'єкта, а під час першого доступу до асоціації. Ми можемо це зробити, сказавши list().size().

Коли ми говоримо fetch="join" він завжди буде запускати один запит, щоб отримати об'єкти асоціації з бази даних.


1 для відповіді № 3

Для вирішення n + 1 виберіть задачу для n запитів(батьківські стосунки) у сплячому режимі ми використовуємо fetch = "приєднатися" замість fetch = "select". Налаштування "Ледачий" визначає, чи потрібно завантажувати дочірні об'єкти під час завантаження батьківського об'єкта. Вам потрібно виконати цей параметр відповідному сплячому файлу відображення батьківського класу.Lazy = true (означає не завантажувати дитину) За замовчуванням ліниве завантаження дочірніх об'єктів є істинним .