xDoclet在Hibernate中的使用
Hibernate类:
@hibernate.class
table="teacher"
Hibernate子类:
@hibernate.joined-subclass
@hibernate.joined-subclass-key
column="tea_id"
主键:
@hibernate.id
column="tea_id"
generator-class="native"
普通属性:
@hibernate.property
column="tea_name"
1:n(1对多)
1的一头:
@hibernate.set
lazy="true"
cascade="all"
inverse="true"
@hibernate.collection-keycolumn="tea_id"
@hibernate.collection-one-to-manyclass="tms.Teacher.ZBJiangCheng"
多的一头:
@hibernate.many-to-one
column="tea_id"
class="tms.Teacher.ZBTeacher"
not-null="true"
1:1(1对1)
1的一头:
@hibernate.one-to-one name="gongzi"
class="tms.Teacher.ZBGongzi"
cascade="all"
1的另一头:
@hibernate.one-to-one
name="teacher"
class="tms.Teacher.ZBTeacher"
constrained="true"
并且其主键策略应是:
@hibernate.id
column="tea_id"
generator-class="foreign"
unsaved-value="0"
@hibernate.generator-param
name="property"
value="teacher"
另一种一头维护的1:1关系
(例如:一本书对应一个图书类型,一种图书类型对应多本书,图书类型一端不需维护对应什么书,而书的一端应维护对应哪种图书类型)
@hibernate.many-to-one
name="booktype"
column="booktype_id"
cascade="all"
not-null="true"