一对一
package com.lanou.hibernate.bean;
public class User {
private int id;
private String username;
private String pwd;
private UserInfo userinfo;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public UserInfo getUserinfo() {
return userinfo;
}
public void setUserinfo(UserInfo userinfo) {
this.userinfo = userinfo;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", pwd=" + pwd + ", userinfo=" + userinfo + "]";
}
}
package com.lanou.hibernate.bean;
public class UserInfo {
private String id;
private String email;
private User user;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
<?xml version="1.0" encoding="WINDOWS-1251"?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.lanou.hibernate.bean.User" table="tb_user" >
<id name="id" >
<generator class="uuid2"></generator>
</id>
<property name="username"></property>
<property name="pwd"></property>
<one-to-one name="userinfo" class="com.lanou.hibernate.bean.UserInfo" cascade="all"></one-to-one>
</class>
</hibernate-mapping>
userinfo.hbm.xml
<?xml version="1.0" encoding="WINDOWS-1251"?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.lanou.hibernate.bean.UserInfo" table="tb_userinfo" >
<id name="id" >
<generator class="foreign">
<param name="property">user</param>
</generator>
</id>
<property name="email"></property>
<one-to-one name="user" class="com.lanou.hibernate.bean.User" cascade="all" constrained="true"></one-to-one>
</class>
</hibernate-mapping>