一對一關(guān)系的維護(hù)有兩種,分為主鍵關(guān)聯(lián)和***外鍵關(guān)聯(lián),下面的代碼展示Hibernate一對一關(guān)系中的主鍵雙向關(guān)聯(lián)。
主鍵關(guān)聯(lián):(雙向)
(主控方) 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 文件
name="address" class="Address" cascade="all" constrained="false" />
person
|
【編輯推薦】
- Hibernate的兩種配置文件格式
- 解析Hibernate中的事務(wù)管理
- 解析Hibernate的批量刪除功能
- Hibernate、Spring和Struts工作原理及使用理由