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>
  • 相关阅读:
    HDU2149-Public Sale
    分页和多条件查询功能
    hdu 4691 最长的共同前缀 后缀数组 +lcp+rmq
    BZOJ 2588 Count on a tree (COT) 是持久的段树
    windows 设置脚本IP
    hdu 4912 Paths on the tree(树链拆分+贪婪)
    分散式-ubuntu12.04安装hadoop1.2.1
    struts详细解释拦截器
    Codeforces 459E Pashmak and Graph(dp+贪婪)
    C#中的数据格式转换 (未完待更新)
  • 原文地址:https://www.cnblogs.com/ligui989/p/3465524.html
Copyright © 2011-2022 走看看