zoukankan      html  css  js  c++  java
  • Hibernate单向“一对一”关联

    1. 基于外键关联单向“一对一”关联
    其中指定many-to-one的unique="true",为单向“一对一”,不指定就是单向“多对一”

    <class name="Person">
        <id name="id" column="personId"><generator class="native"/></id>
        <many-to-one name="address" column="addressId" unique="true" class="Address" />
    </class>

    2. 基于连接表单向“一对一”关联,是一种很少见的情况,不推荐使用
    其中指定many-to-one的unique="true",为单向“一对一”,不指定就是单向“多对一”

    <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"  unique="true" class="Address" not-null="true"/>
        </join>
    </class>

    无论使用使用上面哪种方式,关联是单向的,另外一端无需额外配置

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

    3. 基于主键关联向“一对一”关联,不常用,通常使用一个特定的id 生成器并需要转变关联的方向

    <class name="Person">
        <id name="id" column="personId"><generator class="native"/></id>
     </class>

    <class name="Address">
        <id name="id" column="personId">
            <generator class="foreign">
                <param name="property">person</param>
            </generator>
        </id>
        <one-to-one name="person" constrained="true"/>
    </class>

  • 相关阅读:
    composer npm bower 版本依赖符号说明
    FastAdmin 速极后台框架从 v1.0 到 v1.2 的数据库升级
    FastAdmin 也可以出书了
    FastAdmin 开发时用到的 Git 命令 (2020-09-26)
    FastAdmin用什么弹窗组件
    笔记:Linux 文件权限
    笔记:使用源代码在 Centos 7 安装 Git 2
    php gd 生成表格 图片
    easyui datagrid 清空
    mysql 去重
  • 原文地址:https://www.cnblogs.com/zjm701/p/6839266.html
Copyright © 2011-2022 走看看