zoukankan      html  css  js  c++  java
  • 一对一单双向主键关联

    在数据库里面单向和双向其实没区别,它的区别主要在于java程序里面,如果是双向的,通过wife也能找到husband,如果是单向的,通过wife找不到husband。

    主键关联在annotation里面是用@PrimaryKeyJoinColumn,但是做实验并没有发现主键有做关联,所以hibernate的这个有bug,主键关联不重要。

    用xml设置,

    <class name="StuIdCard">
        
            <id name="id">
                <generator class="foreign">
                <param name="property">student</param>
    </generator>

    </id> <property name="num"></property> <one-to-one name="student" constrained="true"></one-to-one> </class>

    先插student,student有了id再插stuIdCard。

    在项目中,一对一很少,一对一的主键也很少,所以一般不用。

    一对一双向主键关联:

    在annotation相关联的两个类都使用@OneToOne  、 @PrimaryKeyJoinColumn

    在xml里面

    <class name="Student" table="student">
        
        <!-- 以下为字段的映射 -->
            <!-- id为主键,name="id"指的是类里面的属性,getId()方法,所以对应的字段还可以指定成别的。
                因为实体类的属性名和表中字段名一致,所以column=""可以省略了-->
            <id name="id" column="id">
                <generator class="native"></generator>
            </id> 
            <!-- 普通属性 -->
            <property name="name"></property>
            <property name="age"></property>
            <one-to-one name="stuIdCard" property-ref="student"></one-to-one>
        </class>
    <class name="StuIdCard">
        
            <id name="id">
                <generator class="foreign">
                <param name="property">student</param>
                </generator>
            </id> 
            
            <property name="num"></property>
            <one-to-one name="student" constrained="true"></one-to-one>
        </class>
  • 相关阅读:
    poj 3070(矩阵快速幂入门)
    算阶乘质因数的个数(CodeForces 546D)
    hdu1237(表达式求值)
    分治法—hdu1007
    hdu-2089+初学数位dp!
    hdu-2089+初学数位dp
    线段树入门(更新单个节点)
    CodeForces 1131B(思维题)
    CodeForces 1040B(思维题)
    文献的查找下载与阅读
  • 原文地址:https://www.cnblogs.com/ligui989/p/3465524.html
Copyright © 2011-2022 走看看