Hibernate的一对一关系

80酷酷网    80kuku.com

  一对一关系的维护有两种,分为主键关联和唯一外键关联一对一关系的维护有两种,分为主键关联和唯一外键关联主键关联:(双向)(主控方) Person.javaPerson {    private String username;    //对被控方的引用    private Address address;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public Address getAddress() {        return address;    }    public void setAddress(Address address) {        this.address= address;    }}(被动方) Address.javaAddress{    private String addressName;    //对主控方的引用    private Person person;    public String getAddressName() {        return addressName;    }    public void setAddressName(String addressName) {        this.addressName= addressName;    }    public Person getPerson() {        return person;    }    public void setPerson(Person person) {        this.person= person;    }    public String toString() {        return new ToStringBuilder(this).        append("addressName", addressName).        toString();    }        public boolean equals(Object o) {        if ( !(o instanceof Address)  {            return false;           }        Address rhs = (Address) o;          return new EqualsBuilder()                         .appendSuper(super.equals(o))                         .append(this.addressName, rhs.getAddressName())                         .isEquals();    }    public int hashCode() {        return new HashCodeBuilder(17, 37).        append(addressName).        toHashCode();    }}mapping 文件<class name="Person" table="person"><id name="id" type="long" column="id"><generator class="native"/></id><property name="username" column="username" type="string"/><one-to-onename="address"class="Address"cascade="all"constrained="false"/></class><class name="Address" table="Address" ><id name="id" column="id"><generator class="foreign">                      <param name="property">person</param>                  </generator>        </id>        <one-to-one name="person" class="Person" constrained="true"/><property name="addressName" column="addressName" type="string"/></class>



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: