Hibernate的一对一关系

发表于:2007-06-11来源:作者:点击数: 标签:
一对一关系的维护有两种,分为主键关联和唯一外键关联 主键关联:(双向) (主控方) Person. java Person { private String username; //对被控方的引用 private Address address; public String getUsername() { return username; } public void setUsernam

一对一关系的维护有两种,分为主键关联和唯一外键关联

主键关联:(双向)

(主控方)

Person.java

Person {

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.java

Address{

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-one

name="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>

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)



原文转自:http://www.ltesting.net

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
...