请问hibernate中关联关系多对一中 在多的一方的配置文件中column属性如何写??他如何使两个表关联起来了

 我来答
huyong061899
2012-12-21
知道答主
回答量:20
采纳率:0%
帮助的人:7.6万
展开全部
一对一
1.1 外键关联 把外键对应的字段加上唯一约束
1.2 主键关联 我的主键就是你的主键 采用的主键生产机制是foreign
一对多 *******级联与反转********
我们偏爱双向一对多 在一方使用级联与反转 注意这里的一方
如果不用反转 hibernate默认由一方维护关联关系的字段 做法是一个一个的对集合里面的数据进行插入,关联字段为空,之后发一条一条的uodate语句去更新关联字段
如果我们用反转 表明将我们的关联关系维护权交给另一方(多方)管理,由多方维护关联字段的话,不会产生update语句,带来了性能上的
提升
级联:当主对象做操作时候其关联的对象也做与主对象类似的操作,可以减少我们的代码,一般在一方使用,我们认为在多方设置级联没有什么意义
级联 Cascade的取值:
用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似的操作,常用的Cascade取值有:
none,all,save-update,delete,lock,refresh,evict,replicate,persist,merge,delete-orphan

级联时 给关联对象设置id时需要注意,hibernate会对关联的对象进行update,二 如果关联对象在数据库不存在的时候会报错
*******级联删除*******:
1 关联关系不是由你控制,级联删除会报外键约束错误

2 控制权交给你 ,如果当前对象是非持久化状态,则先解除关系,把关联字段设置为NULL,然后删除自己

3 当前对象是持久化状态,不管有没有控制权,都可以删除它自己以及它关联的对象
反转:是否将关联关系维护权交给另一方控制 inverse 在<one-to-many的一方set集合上使用或者是多对多的时候才存在
多对多(会出现什么问题(由一方去设值就可以了)) 加一个中间表 many-to-many 实则是转成两个一对多 一方使用inverse="true" 一方使用inverse="false"
huyanyanghyy
2012-12-21 · TA获得超过119个赞
知道小有建树答主
回答量:100
采纳率:100%
帮助的人:73.5万
展开全部
其实这个column是可以不写的,默认就是对象名加"_id",但是我们一般还是需要写的,但是有一点需要注意:那就是多对一中的column指定的值一定要和一对多中的column指定的值完全一样,否则会报错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1060436077
2012-12-21 · TA获得超过582个赞
知道小有建树答主
回答量:2784
采纳率:0%
帮助的人:658万
展开全部
colum就是数据库表的列明,所以表中时什么你就写什么。没有什么关系
更多追问追答
追问
那么标签中column如何写呢??
追答
 

其中column是数据库对应字段名称,class是该字段对应关联表的实体类路径,lazy是否延迟加载
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式