Hibernate学习笔记(二)

1、一对多的关系:单项n-1(many-to-one),双向1-n(双向n-1)

2、inverse:指定由哪一方来维护关联关系,通常设置为true,以指定由多的一方来 维护关联关系

3、cascade:级联删除,开发时不建议设定该属性,建议手工的方式处理

4、order-by:数据库排序

5、 基于外键映射的1-1:其外键可以存放在任意一边,在需要存放外键的一端,增加 many-to-one 元素,为 many-to-one 元素增 加 unique = "true" 属性来表示1-1关联。 另一端使用 one-to-one 元素,该元素使用 propety-ref 属性指定使用被关联实体主键以外的字段作为关联字段(即后文的mgr属性)

6、基于主键映射的1-1:

       1)基于主键的映射策略:指一端的主键生成器使用foreign策略,表明根据“对方”的主键来生成自己的主键,自己并不能独立生成主键。<param>子元素指定使用当前持久化类的哪个属性作为“对方”。

  2)采用foriegn主键生成器策略的一端增加one-to-one元素映射关联属性,其one-to-one属性还应该增加constranied="true"属性;另一端增加one-to-one元素映射关联属性。

  3)constrained(约束):指定为当前持久化类对应的数据库表的主键添加一个外间约束,引用被关联的对象(“对方”)所对应的数据表主键。

7、双向n-n关联:需要建立中间连接表,需要两端都使用set集合属性,两端都增加对集合属性的访问。在双向N-N关联的两边都需指定连接表的表名及外键列的列名. 两个集合元素 set 的 table 元素的值必须指定,而且必须相同。set元素的两个子元素:key 和 many-to-many 都必须指定 column 属性,其中,key 和 many-to-many 分别指定本持久化类和关联类在连接表中的外键列名,因此两边的 key 与 many-to-many 的column属性交叉相同。也就是说,一边的set元素的key的 cloumn值为a,many-to-many 的 column 为b;则另一边的 set 元素的 key 的 column 值 b,many-to-many的 column 值为 a。(对于双向 n-n 关联, 必须把其中一端的 inverse 设置为 true, 否则两端都维护关联关系可能会造成主键冲突。)

8、继承映射:

    1)采用subclass元素的继承映射

    2)采用joined-subclass元素的继承映射

    3)采用union-subclass元素的继承映射

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值