• 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方法省略

    }

  • 相关阅读:
    配置struts2拦截器
    <global-results>标签来定义全局的<result>
    StringUtils.isEmpty和StringUtils.isBlank用法
    Tomcat xxx unbound
    getRequestDispatcher()和response.sendRedirect()
    转 intValue()的用法
    jspf与jsp的区别
    table标签中thead、tbody、tfoot的作用
    hibernate的cascade
    hibernate 持久化对象的三个状态
  • 原文地址:https://www.cnblogs.com/hwgok/p/5380838.html
Copyright © 2020-2023  润新知