在Hibernate 3中實(shí)際上有一種機(jī)制叫做延遲加載
所謂的延遲加載就是指當(dāng)程序用到數(shù)據(jù)的時(shí)候才進(jìn)行加載
Hibernate中提供的delete方法最大的缺點(diǎn)就是必須先把數(shù)據(jù)查詢出來(lái)之后 ,在進(jìn)行刪除,這樣才能一起刪除掉,最好的做法是將數(shù)據(jù)按ID進(jìn)行刪除à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>
--
學(xué)海無(wú)涯