java 、hibernate 的问题,一对多,多对一,两张表必须有主外键关系?那一对一呢?

一对一,也要两张表必须有主外键关系?一对多,多对一,必须两张表必须有主外键关系?... 一对一,也要两张表必须有主外键关系?
一对多,多对一,必须两张表必须有主外键关系?
展开
 我来答
殇心影誓
2013-04-07 · TA获得超过121个赞
知道答主
回答量:111
采纳率:0%
帮助的人:88.2万
展开全部
这个表的关系对于hibernate来说关系不大,一般数据库比较好的人喜欢用表的外键来关联表,而我建表从来不加任何外键关系,应为我是用java代码来控制各个表之间的关系,所以无论是几对几,只要你的逻辑明确,就是不建任何外键也一样可以的
幽冥神者
2013-04-07 · TA获得超过3213个赞
知道大有可为答主
回答量:1953
采纳率:50%
帮助的人:1764万
展开全部
一对多和多对一当然要有主外键关系
一对一可以直接用两个表的主键关联 没有外键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
惟有池塘白碧1
推荐于2016-08-30 · 超过22用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:50万
展开全部
一对多,多对一必须有主外键关系。
一对一无主外键关系。
1.单项一对一:
<class name="Person">
<id name="id" column="personId">
<generator class="native"/>
</id>
<many-to-one name="address"
column="addressId"
unique="true"
not-null="true"/>
</class>

<class name="Address">
<id name="id" column="addressId">
<generator class="native"/>
</id>
</class>
2 双向1对1
<class name="Person">
<id name="id" column="personId">
<generator class="native"/>
</id>
<join table="PersonAddress"
optional="true">
<key column="personId"
unique="true"/>
<many-to-one name="address"
column="addressId"
not-null="true"
unique="true"/>
</join>
</class>

<class name="Address">
<id name="id" column="addressId">
<generator class="native"/>
</id>
</class>

希望可以帮助你!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式