Używanie leniwych do właściwości w Hibernacja

Leniwy atrybut znacznika właściwości w hibernacji pozwala leniwie załadować właściwość zgodnie z linkiem:http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/mapping.html#mapping-declaration-property

lazy (opcjonalnie - domyślnie false): określa, że ​​ta właściwość powinna być pobierana leniwie, gdy po raz pierwszy uzyskuje się dostęp do zmiennej instancji. Wymaga oprzyrządowania kodu bajtowego w czasie.

Ale kiedy próbowałem ustawić lazy = true dla jednej z moich właściwości, nie ładuje go leniwie w tym przykładzie:

Plik mapowania hibernacji:

<hibernate-mapping package="org.hibernate.tutorial.domain">

    <class name="Event" table="EVENTS" select-before-update="true">
        <id name="id" column="EVENT_ID">
            <generator class="native" />
        </id>
        <property name="date" type="timestamp" column="EVENT_DATE" />
        <property name="title" lazy="true"/>

        <set name="participants" table="PERSON_EVENT" inverse="true">
            <key column="EVENT_ID" />
            <many-to-many column="PERSON_ID" class="Person" />
        </set>
    </class>

</hibernate-mapping>

Program:

public static void main(String[] args) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        Event event = (Event) session.get(Event.class, 135L);
        session.getTransaction().commit();
        System.out.println(event);
        HibernateUtil.getSessionFactory().close();
    }

Zapytanie wygenerowane przez hibernację:

Hibernate: select event0_.EVENT_ID as EVENT1_0_0_, event0_.EVENT_DATE as EVENT2_0_0_, event0_.title as title0_0_ from EVENTS event0_ where event0_.EVENT_ID=?

Pomóż mi zrozumieć, dlaczego leniwy nie działa w tym przypadku?

questionAnswers(3)

yourAnswerToTheQuestion