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>

  • 相关阅读:
    【转】Storm并行度详解
    Storm 集群安装配置
    【原】storm源码之storm代码结构【译】
    Storm中-Worker Executor Task的关系
    Storm源码分析--Nimbus-data
    storm配置
    Nimbus<三>Storm源码分析--Nimbus启动过程
    Nimbus<二>storm启动nimbus源码分析-nimbus.clj
    Twitter Storm源代码分析之Nimbus/Supervisor本地目录结构
    linux 相关学习记录
  • 原文地址:https://www.cnblogs.com/zjm701/p/6839266.html
Copyright © 2011-2022 走看看