在Hibernate 3中實際上有一種機制叫做延遲加載
所謂的延遲加載就是指當程序用到數據的時候才進行加載
Hibernate中提供的delete方法最大的缺點就是必須先把數據查詢出來之后 ,在進行刪除,這樣才能一起刪除掉,最好的做法是將數據按ID進行刪除àHQL
舉例(各種容器的hbm文件的寫法):
Set:
<hibernate-mapping>
<class name="org.lxh.hibernate.demo01.pojo.Person" table="person">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native"></generator>
</id>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
<set name="emails" table="emails" lazy="false">
<key column="id"></key>
<element type="java.lang.String" column="address"></element>
</set>
</class>
</hibernate-mapping>
List:
<hibernate-mapping>
<class name="org.lxh.hibernate.demo02.pojo.Person" table="person">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native"></generator>
</id>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
<list name="books" table="books">
<key column="id"></key>
<index column="posit"></index>
<element type="java.lang.String" column="title"></element>
</list>
</class>
</hibernate-mapping>
Map:
<hibernate-mapping>
<class name="org.lxh.hibernate.demo03.pojo.Person" table="person">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native"></generator>
</id>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
<map name="phone" table="phone">
<key column="id"></key>
<index type="java.lang.String" column="name"></index>
<element type="java.lang.String" column="numbers"></element>
</map>
</class>
</hibernate-mapping>
-- 學海無涯