hibernate一对一关联映射,哪个表设置外键呢
hibernate一对一外键关联映射,哪个表应该设置外键呢?怎么区分?举例说明一下,O(∩_∩)O谢谢...
hibernate一对一外键关联映射,哪个表应该设置外键呢?怎么区分?举例说明一下,O(∩_∩)O谢谢
展开
2个回答
展开全部
一对一关联映射有两种映射方式,一般我们在一对一关系中都能找到一个主对象一个从对象,其实很好划分,因为外键是参照关系,所以,一般把先存在的对象作为主对象,后存在的对象作为从对象,举几个例子,比如身份证和公明的关系,如果要建立对象,肯定是一对一关系,那么因为先有公明,后有身份证,所以,习惯在身份证对象对应的表中参照公明的主键做一个外键,又比如扣扣空间和扣扣号,如果是一个一对一关系的话,因为先有扣扣号,后有扣扣空间,所以一般在扣扣空间表里面做一个外键参照扣扣号的主键。
我说的这些都比较片面,因为确实one2one涉及到两种实现方式,两种方式的概念差距还是比较大,所以如果你要更多的了解,你可以看我个人说明里面的hibernate的资料,希望对你有帮助。
我说的这些都比较片面,因为确实one2one涉及到两种实现方式,两种方式的概念差距还是比较大,所以如果你要更多的了解,你可以看我个人说明里面的hibernate的资料,希望对你有帮助。
追问
在数据库中,建立一对多关系时,通常在哪个表建立外键?
追答
一对多只能在多那边简历外键啊。
展开全部
比如说有学生表Student,和导师表Teacher,那么一个学生有一个导师(先不管一个导师有几个学生),那么在面向对象的设计中Strudent对象中有field(属性)Teacher t;通常注解这么写:
@OneToOne
@JoinColumn(name="teacher_id")
Teacher t;
这样的话数据库中的student表就有一个外键teacher_id,而它参考的就是teacher表的id
@OneToOne
@JoinColumn(name="teacher_id")
Teacher t;
这样的话数据库中的student表就有一个外键teacher_id,而它参考的就是teacher表的id
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询