0

我有一个数据库,其中包含三个表,“用户”、“地址”和“联系人详细信息”。

'User' Table
    - Id
    - Username

'Address' Table
    - Id
    - Type ('1' for a home address, '2' for a work address)
    - Address

'ContactDetails' Table
    - Id
    - Email address

“User”表中特定用户的 Id 对应于“Address”和“ContactDetails”表中的 Id。

我想使用休眠将这些表连接在一起作为具有以下变量的单个用户对象:

private int id;
private Address homeAddress; // ie where Type = 1
private Address businessAddress; // ie where Type = 2
private ContactDetails contactDetails;

我目前已将 User、Address 和 ContactDetails 映射到类中,但我正在努力将它们整合到具有上述结构的单个类中。

有人可以给我一个快速示例,说明如何使用注释映射关系吗?我不想将类地址或联系人详细信息更改为包含“用户”类型的变量,因为我只会通过用户类访问用户地址或联系人详细信息。不幸的是,我无法更改数据库。

4

1 回答 1

0

您必须使用@Embeddable注释@AttributeOverride来强制嵌入实体保留在它们自己的表中。

请参阅http://en.wikibooks.org/wiki/Java_Persistence/Embeddables

于 2013-05-28T12:42:01.040 回答