Hibernate关系映射备忘录,以下为一对一 一对多 多对多 映射xml文件的简单记录
一对多映射 使用的表:Customers表 ID Name Orders表 ID Customer_ID Order_Number //orders中的Customer_ID作为外键使用。
单向映射文件
********************Customers表********************************** <hibernate-mapping> <class name="GT.Cutstomer" table="Customers"> <id name="id" type="long" column="ID"> <generator class="increment"/> </id> <property name="Name" type="string"> <column name="Name" legnth="15"> <property/> </class> </hibernate-mapping> ********************Orders表********************************** <hibernate-mapping> <class name="GT.Order" table="Orders"> <id name="id" type="long" column="ID"> <generator class="increment"/> </id> <property name="OrderNumber" type="string"> <column name="Order_Number" legnth="15"> <property/>
<many-to-one name="customer" column="Customer_ID" class="GT.Customer" not-null="true" /> </class> </hibernate-mapping> 双向映射文件 ********************Customers表********************************** <hibernate-mapping> <class name="GT.Cutstomer" table="Customers"> <id name="id" type="long" column="ID"> <generator class="increment"/> </id> <property name="Name" type="string"> <column name="Name" legnth="15"> <property/>
<set name="orders" cascade="" inverse="true"> <key column="Customer_ID"/> </set> </class> </hibernate-mapping> //双向关联中,set中的inverse 属性表明此端(customer)的关联只是order端的镜像,当探测到customer和order同时发生变化时,仅按照order端来同步数据库 ********************Orders表********************************** <hibernate-mapping> <class name="GT.Order" table="Orders"> <id name="id" type="long" column="ID"> <generator class="increment"/> </id> <property name="OrderNumber" type="string"> <column name="Order_Number" legnth="15"> <property/>
<many-to-one name="customer" column="Customer_ID" class="GT.Customer" not-null="true" /> </class> </hibernate-mapping>
一对一映射 Hibernate提供了两种一对一关联映射的方法:按照外键映射,按照主键映射。且这里说的是双向映射 按照外键映射 使用的表 Customers表 ID Name Home_Address_Id Com_Address_Id Addresses表 ID City ..... ********************Customers表********************************** <hibernate-mapping> <class name="GT.Cutstomer" table="Customers"> <id name="id" type="long" column="ID"> <generator class="increment"/> </id> <property name="Name" type="string"> <column name="Name" legnth="15"> <property/> <many-to-one name="homeAddress" class="GT.Address" column="Home_Address_ID" unique="true" /> <many-to-one name="comAddress" class="GT.Address" column="Com_Address_ID" unique="true" /> </class> </hibernate-mapping> Address.hbm.xml文件中,用<one-to-one>来映射Address类的customer属性 ........................
<one-to-one name="Customer" class="GT.Customer" property-ref = "homeAddress" /> ........................
按照主键映射
使用的表 Customers表 ID Name Addresses表 ID City ..... Customer.hbm.xml文件中 ********************Customers表********************************** ................
<one-to-one name="address" class="GT.address" cascade="all"/> .......................
********************Address表********************************** Address.hbm.xml文件中 .......................
<one-to-one name="customer" class="GT.customer" constrained="true"/> 表明address的主键同时作为外间使用 .......................
多对多映射 使用的表 Category表 ID Name Items表 ID Name Base_Price Category_Item表 Catetory_ID Item_ID 单向映射
********************Category表********************************** Category.hbm.xml文件中 .........................
<set name="items" talbe="Category_Item" lazy="true" cascade="save-update" <key column="Category_ID"/> <many-to-many class"GT.Item" column="Item_ID"/> </set>
.....................
双向映射 ********************Category表**********************************
Category.hbm.xml文件中 .........................
<set name="items" talbe="Category_Item" lazy="true" cascade="save-update" <key column="Category_ID"/> <many-to-many class"GT.Item" column="Item_ID"/> </set> .........................
********************Item表**********************************
Item.hbm.xml文件中 .........................
<set name="categories" talbe="Category_Item" lazy="true" inverse="true" cascade="save-update" <key column="Item_ID"/> <many-to-many class"GT.Category" column="Category_ID"/> </set>
|
相关推荐
hibernate 对象关系映射总结hibernate 对象关系映射总结hibernate 对象关系映射总结
Hibernate对象关系映射一对多 很基础等文档
hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,包含4个说明文档,分别详细解说了hibernate关联映射的关联关系,...
熟悉Hibernate的“多对一”关系映射,并应用于web系统中
Hibernate_关联关系映射配置详解,希望能帮助广大java爱好者
关于对Hibernate关联映射的一个总结,其中有各种映射的例子,详细用法 等
Hibernate 相关映射关系 Hibernate 相关映射关系 Hibernate 相关映射关系
Hibernate4中映射关系图解。
Hibernate 关联关系映射分类
Middlegen-Hibernate-r5 Hibernate关系映射XML生成工具,MYSQL数据库的生成配置文件已经做好。
hibernate关系映射,1V1,1vN,nVn,单相双相
hibernate的多种映射关系
用Hibernate映射继承关系
hibernate
Hibernate映射解析 七种映射关系
hibernate关系映射,总结的关系映射,很全面,基本上涵盖所需要的全部映射关系
hibernate关系映射系列1,单向1对1映射,意向Nto1 程序说明:生成mysql数据库,建立DB Browser连接后,用户可在程序中自动生成mysql表,非常简单,适合初学者了解hibernate映射机制,有问题可联系flyallen5@hotmail.com
文件中包含关于hibernate 各个属性的解释
Hibernate_关联关系映射配置
很有用的hibernate映射关系,适用于spring+hibernate+strust框架