[学习]Hibernate 3.2 学习笔记之六

Hibernate 关联映射

单向(N-1)多对一关联

 

使用场合:只通过多的一方访问一的一方,一的一方不访问多的一方。在设计对象模型时,多的一方中有一个一的一方类型的属性;在映射文件中,多的一方使用<many-to-one ... />元素来映射这个属性。

<many-to-one ... />元素可以有一下属性:

 

name:必选,映射的属性名。

column:指定进行外键关联的列名,默认与属性名name相同。

class:指定关联实体的全限定类名。

casecade:指定哪些操作会从主表记录级联到子表记录。

fetch:指定Hibernate的抓取策略,join或select。

update、insert:指定对应的字段是否包含在用于Hibernate生成的uodate或insert语句中,默认为true。

property-ref:指定关联类的一个属性,这个属性映射的列和本类的外键相对应(当外键关联唯一键时须指定该属性)。

access:指定访问此关联属性的策略,默认为property。

unique:指定Hibernate通过DDL为外键列添加唯一约束。这使关联具有一对一的约束。

not-null:指定Hibernate通过DDL为外键列添加非空约束。

optimistic-lock:指定更新时是否需要获得乐观锁。

lazy:指定引用关联实体的延时加载属性,默认为proxy。

not-found:指定当外键参照的主表记录不存在时如何处理,默认为exception(抛出异常)。

formula:指定一个SQL表达式,该外键值根据此SQL表达式来计算。

 

例如:

员工和部门,多个员工对应一个部门。在访问员工的时候要知道其所属部门,而访问部门的时候不必关心该部门有多少员工。

 

对象模型:

映射文件:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值