У меня простой вопрос. Я нашел этот конфиг Hibernate в нашем проекте:
<many-to-one name="employee"
class="com.myapp.Employee"
cascade="merge"
lazy="false"
fetch="select">
<column name="employee_id"
sql-type="bigint"
not-null="true"/>
</many-to-one>
Не fetch = "select" означает "Ленивая загрузка всех коллекций и сущностей" на основе Стратегии извлечения . Но, написав lazy = "false" означают не ленивая загрузка. Таким образом, приведенный выше конфиг говорит: «Отключить отложенную загрузку. Включите отложенную загрузку». В сущности, это означает, что свойство загружено лениво?
Так что я мог бы сократить эту конфигурацию как:
<many-to-one name="employee"
class="com.myapp.Employee"
cascade="merge"
fetch="select">
<column name="employee_id"
sql-type="bigint"
not-null="true"/>
</many-to-one>
Но не является ли fetch = "select" режимом по умолчанию? Таким образом, я могу объявить тот же конфиг:
<many-to-one name="employee"
class="com.myapp.Employee"
cascade="merge">
<column name="employee_id"
sql-type="bigint"
not-null="true"/>
</many-to-one>
Я прав? Неправильно? Идеи? Спасибо
Если я хочу включить отложенную загрузку, я должен добавить lazy = "true" и удалить lazy = "false" ?