1.联合主键
@Entity
@IdClass(WifePK.class)
public class Wife
{
@Id
private int id;
@Id
private String name;
private int age;
}
public class WifePK implements Serializable
{
private int id;
private String name;
}
@Entity
public class Husband
{
private int id;
private String name;
@OneToOne
@JoinColumns(
{
@JoinColumn(name="wifeId",referencedColumnName="id"),
@JoinColumn(name="wifeName",referencedColumnName="name")
}
)//也可以不设,可自己生成
private Wife wife;
}
2.组件映射
a.对象关系:一个对象是另一个对象的一部分
b.数据库表:一张表
c.annotation:(假设wife是husband的一部分)
public class Wife
{
private String wifeName;
private int age;
}
@Entity
public class Husband
{
private int id;
private String name;
@Embedded//作为一部分嵌入的
private Wife wife;
}
d.xml:
<class name="com.hibernate.Husband">
<id name="id">
<generator class="native"></generator>
</id>
<component name="wife">
<property name="wifeName"></property>
<property name="age"></property>
</component>
</class>