Hibernate的hbm.xml配置文件中: 一对多与多对一的<key column 标签与<column标签用法

有两个表:主表:grade主键:gradeid子表:student主键:studentid外键:gradeid他们的关系是一对多Hibernate的hbm.xml配置文件... 有两个表:
主表:grade 主键:gradeid
子表:student 主键:studentid 外键:gradeid
他们的关系是一对多

Hibernate的hbm.xml配置文件中:
Grade.hbm.xml中有一对多关系映射:
<set name="students" lazy="false" inverse="true">
<key column="gradeid"></key> //问题:这里key column的取值为gradeid取的是哪里的值?是对应的子表student表外键名称么?
<one-to-many class="com.entity.Student"/>
</set>

Student.hbm.xml中有多对一关系映射:
<many-to-one name="grades" class="com.entity.Grade" lazy="false" column="gradeid"></many-to-one> //问题:这里的column取值为gradeid取的是哪里的值?是本身子表student表的外键名称么?还是主表grade表中主键的名称?虽然一般这两个名称都是一样的,但我想知道具体指代的是哪个?
展开
 我来答
成都利锐科技
推荐于2017-11-24 · TA获得超过187个赞
知道答主
回答量:36
采纳率:0%
帮助的人:43.3万
展开全部
key column是指在多的一端(Student表)中添加一个名为gradeId的字段,添加的字段的值为当前配置文件中主键的值(即gradeid)。即实现了主外键关联

因为设置了inverse=true,实际上这个字段是在由student进行维护的···

顺便鄙视一下楼上打广告的····
Qayone
2012-01-16 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:91万
展开全部
<set name的取值为gradeid 这个是主表的grade 是它本身拥有的 我想你实体类定义的也有gradeid的吧! 你可以跟踪就能到它的实体类里面!是grade 表自有的主键!
many-to-one 多对一是吧 column="gradeid" 学生student是多 grade是一是吗?学生引用grade的id作为自己的主键的外间引用 对不?
追问
哦,好像是。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式