zoukankan      html  css  js  c++  java
  • hibernate中1对1的注解配置

    hibernate中1对1的注解配置分为:外键关联映射和主键关联映射

    1.外键配置

    //一方
    @Entity
    @Table(name="test_classinfo")
    public class ClassInfo {
      @Id
      @SequenceGenerator(name="seqClassInfo",sequenceName="seq_test_classinfo")
      @GeneratedValue(generator="seqClassInfo")
      private Integer cid;
      private String cname;
      @OneToOne(mappedBy="classInfo")
      private Students students;

      set,get方法省略

    }

    //多方

    @Entity
    @Table(name="test_student")
    public class Students {
      @Id
      @SequenceGenerator(name="seqStudents",sequenceName="seq_test_student")
      @GeneratedValue(generator="seqStudents")
      private Integer sid;
      private String sname;
      @ManyToOne(cascade=CascadeType.ALL)
      @JoinColumn(name="cid",unique=true)
      private ClassInfo classInfo;

      set,get方法省略

    }

    2.主键关联映射

    @Entity
    @Table(name="test_husband")
    public class Husband {
      @Id
      @SequenceGenerator(name="seqHusband",sequenceName="seq_test_husband")
      @GeneratedValue(generator="seqHusband")
      @Column(name="marriage_id")
      private Integer marriageId;
      private String hname;
      @OneToOne(cascade=CascadeType.ALL)
      @PrimaryKeyJoinColumn               //@PrimaryKeyJoinColumn :说明Wife的主键是由Husband的主键决定
      private Wife wife;

      set,get方法省略

    }

    @Entity
    @Table(name="test_wife")
    public class Wife {
      /*
      * <id name="marriageId" column="marriage_Id" >
          <generator class="foreign">
            <param name="property">husband</param>
          </generator>
       </id>
      */
      @Id
      @GenericGenerator(name="seqwife",strategy="foreign",parameters={@Parameter(name="property",value="husband")})
      @GeneratedValue(generator="seqwife")
      @Column(name="marriage_id")
      private Integer marriageId;
      private String wname;
      @OneToOne(mappedBy="wife")
      private Husband husband;

      set,get方法省略

    }

  • 相关阅读:
    Python基础知识(五)------字典 , 解包 , 枚举 ,嵌套
    python基础知识(一) 计算机概念,python的初步认识
    格式化windows 文件为linux格式文件
    Linux防火墙
    CentOS 7 连接不到网络解决方法(设置静态ip)
    Linux sudo 找不到命令
    Centos7 中查找文件、目录、内容
    Linux命令查看各端口号占用情况
    Linux weblogic
    centos7 配置JDK
  • 原文地址:https://www.cnblogs.com/hwgok/p/5380838.html
Copyright © 2011-2022 走看看