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>

  • 相关阅读:
    Nginx 的 server_names_hash_bucket_size 问题
    Linux 查看CPU信息、机器型号等硬件信息
    JS中的prototype[转载]
    memcache适用和不适用场景[转载]
    php的socket通信【转载】
    fastcgi与cgi的区别[转载]
    PHP类和对象
    SVN的配置和使用
    PHP_pear的安装和使用
    [转]Python tips: 什么是*args和**kwargs?
  • 原文地址:https://www.cnblogs.com/zjm701/p/6839266.html
Copyright © 2011-2022 走看看