首页 > 代码库 > Hibernate映射1

Hibernate映射1

Hibernet映射

集合映射:

类的属性字段是集合的。

set:

<set name=”属性字段” table=“属性字段的表名”>

         <key 外键 column=“”>

         <element column=“属性存储内容的位置名称” type=””>

set集合属性的映射

                name 指定要映射的set集合的属性

                table 集合属性要映射到的表

                key  指定集合表(t_address)的外键字段

                element 指定集合表的其他字段

                    type 元素类型,一定要指定

 

list:

<list name=”属性字段” table=“属性字段的表名”>

         <key 外键 column=“”>

         <list-index column=”index”>  list是有序的,这个是用来排序的

         <element column=“属性存储内容的位置名称” type=””>

--

            list集合映射

                list-index  指定的是排序列的名称 (因为要保证list集合的有序)

 

map:

<map name=”属性字段” table=“属性字段的表名”>

         <key 外键 column=“”>

         <map-key column=”第一个内容:属性存储内容的位置名称” type=”” >

         <element column=“第二个内容:属性存储内容的位置名称” type=””>

map集合的映射

                key  指定外键字段

                map-key 指定map的key

                element  指定map的value

 

一对多,多对一

<many-to-one name=”属性字段” calss=”另一个类的名称” column=”外键字段”>

<one-to-mony calss=”另一个类的名称”>

在一对多与多对一的关联关系中,保存数据最好的通过多的一方来维护关系,这样可以减少update语句的生成,从而提高hibernate的执行效率!

注意:

         配置了哪一方,哪一方才有维护关联关系的权限!

Inverse属性

Inverse属性,是在维护关联关系的时候起作用的。

       表示控制权是否转移。(在一的一方起作用)

 

Inverse , 控制反转。

Inverse = false  不反转;   当前方有控制权

                   True  控制反转; 当前方没有控制权

cascade  表示级联操作  【可以设置到一的一方或多的一方】

         none          不级联操作, 默认值

         save-update     级联保存或更新

         delete                  级联删除

         save-update,delete    级联保存、更新、删除

         all                 同上。级联保存、更新、删除

 

多对多

<many-to-many column="另一个类的id" class="另一个类的名字"></many-to-many>

many-to-many

                    column 指定外键字段对应的项目字段

                    class  集合元素的类型

 

 

Hibernate映射1