表是一张表,但可以通过两个或多个java对象来访问
annotation方式:
husband类和wife类
注意类中的属性名不要冲突
@Entity
public class Husband {
private int id;
private String name;
private Wife wife;
@Embedded
public Wife getWife() {
return wife;
}
public void setWife(Wife wife) {
this.wife = wife;
}
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Wife {
private String wife_name;
private String wife_age;
public String getWife_name() {
return wife_name;
}
public void setWife_name(String wife_name) {
this.wife_name = wife_name;
}
public String getWife_age() {
return wife_age;
}
public void setWife_age(String wife_age) {
this.wife_age = wife_age;
}
}
生成的表
create table Husband (
id integer not null auto_increment,
name varchar(255),
wife_name varchar(255),
wife_age varchar(255),
primary key (id)
)
xml方式:
<hibernate-mapping package="hibernate">
<!--table 属性不配就是默认-->
<class name="Husband" >
<id name="id" >
<generator class="native"/>
</id>
<property name="name"/>
<component name="wife">
<property name="wife_name"/>
<property name="wife_age"/>
</component>
</class>
</hibernate-mapping>