技术开发 频道

关于Hibernate的关联关系及其操作


【IT168 技术文档】
   下面是以主键关联的Customer和Certificate的映射文件:
   ● Customer.hbm.xml:
<hibernate-mapping> <class name="hibernate.Customer" table="customer" schema="dbo" catalog="test"> <id name="id" type="java.lang.Long"> <column name="id" /> <generator class="uuid.hex" /> </id> <!--映射对应的身份对象--> <one-to-one name="Certificate" class="hibernate.Certificate"
update
="true" insert="true" fetch="select" cascade="all"/> <property name="name" type="java.lang.String"> <column name="name" length="50" not-null="true" /> </property> </class> </hibernate-mapping>
    ● Certificate.hbm.xml:
<hibernate-mapping> <class name="hibernate.Certificate" table="certificate" schema="dbo" catalog="test"> <id name="id" type="java.lang.Long"> <column name="id" /> <!—引用Customer的主键作为Certificate的主键和外键--> <generator class="foreign" /> <param name="property">Customer</param> </generator> </id> <property name="information" type="java.lang.String"> <column name="information" length="50" not-null="true" /> </property> <one-to-one name="Customer" class="hibernate.Customer" constrained="true"<!—表示Certificate引用了Customer主键作外键--> </class> </hibernate-mapping>
    b.以外键关联:两张表的主键值不同,它使用一个新添加的字段来作为外键维持一对一关系。如图1-3:


图1-3

0
相关文章