网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
..Net里的哈希表和串行化的简单介.
.Java编程语言中创建和使用日期的.
.剖析.Net下的数据访问层技术(4).
.JAVA的interface观念与C++多重继.
.J2EE基础应用:J2EE中SQL语句自动.
.Javascript实例教程(19) 使用HoT.
.反编译、破解JAVA软件的方法、实.
.《Java 手机/PDA 程序设计入门》.
.在java应用程序中显示数据库的bl.
.EJB最佳实践:实体bean保护.
.JBuilderX初体验.
.random 方法.
.程序员:Waiting Anywhere.
.Java Servlet概述.
.Classworking 工具箱: .
.走近JavaEE5与Glassfish应用服务.
.更方便,更强大的分页方式.
.垃圾回收.
.Java程序员必须了解的七大开源协.
.列出目录下所有文件名---ListFil.

Hibernate的一对一关系

发表日期:2008-1-5



  Hibernate的一对一关系

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

主键关联:(双向)
(主控方)

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>
上一篇:From Java to PHP 人气:719
下一篇:Hibernate 入门(3) 人气:645
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐