栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

关系所有者在双向关系中意味着什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关系所有者在双向关系中意味着什么?

第一个示例是正常且正确的双向一对多/多对一映射。设置

Question
Choice
-attribute(“拥有方”)足以保持关系。内存中的实体图将被弄乱,直到再次从数据库中读取关系的另一端为止。从数据库的角度来看,所有者是持久保存到具有外键列的表的实体(与双向一对一相同)。在规范中对此进行了以下解释:

一对多/多对一双向关系的多面必须是拥有方,因此无法在ManyToOne批注上指定mappingBy元素。
....受

管实体之间的双向关系将根据该关系拥有方所拥有的引用来保留。当它们更改时,开发人员有责任使在内存中拥有的引用和在内存中相反的引用彼此保持一致。在单向一对一和一对多关系的情况下,开发人员有责任确保遵守这些关系的语义。

用JPA术语,由于缺少,您的第二个示例没有所有权

mappedBy
。相反,您有两个单向关系,它们被迫使用与存储相同的列。至少对于Hibernate
3.5.6,它将表现为以下方式:

  • 设置
    Question
    choice
    -attribute将不会保持关系。
  • 添加
    Choice
    question
    -attribute将不会保持关系。
  • "QUESTION_ID"
    设置两者的持久值(是,也不能
    insertable
    question
    )。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/467066.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号