Hibernate 3 Lazy загрузка поля многие-к-одному не работает при установке каскада на "все" - PullRequest
1 голос
/ 24 декабря 2011

У меня есть поле "многие к одному", определенное в файле отображения с помощью lazy = "no-proxy" и cascade = "none". Задача муравья байт-кода была выполнена. и я получаю ленивую загрузку в порядке.

Но когда я меняю каскад на "все", ленивая загрузка не работает. и все остальные ленивые свойства также загружаются с нетерпением.

Вот мой вопрос, почему ленивая загрузка не работает, когда установлено cascade = "all"? и есть ли какое-нибудь решение, чтобы заставить ленивую загрузку "многие к одному" работать при установке cascade = "all"?

Когда cascade = "none", после вызова session.load (A.class, longid) свойства emailAdr, contact и testb не загружаются, что я и исключил.

Но при изменении каскада на "все" все ленивые поля загружались с нетерпением при вызове session.load (A.class, longid).

<hibernate-mapping>
    <class name="com.abc.TestA" lazy="false" table="TBL_TESTA">
        <id name="oid" type="java.lang.Long" unsaved-value="null" column="OID">
            <generator class="com.abc.IdentifierGenerator"/>
        </id>
        <version column="VER_NUM" name="verNum" type="long"/>

        <property name="emailAdr" type="java.lang.String" lazy="true" column="EMAIL_ADR" >

        <many-to-one name="contact" class="com.abc.SetupContact" lazy="no-proxy" cascade="none" not-null="true">
            <column name="CNTCT_OID"/>
        </many-to-one>

        <one-to-one name="testb" class="com.abc.TestB" lazy="no-proxy" cascade="none"/>
    </class>
</hibernate-mapping>

1 Ответ

0 голосов
/ 24 декабря 2011

Ленивая загрузка - это просто подсказка для реализации ORM. Может случиться так, что если вы определите каскад как «все», hibernate «решит», что для него оптимально будет загружать объект с нетерпением.

Как правило, это не проблема, если ORM загружает отложенные сопоставленные объекты ManyToOne.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...