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  集合元素的类型

上一篇:FMDB源码阅读


下一篇:Qt4.8 移植(超详细Configure的参数)