【问题标题】:Unidirectional one-to-one mapping hibernate单向一对一映射休眠
【发布时间】:2013-05-23 09:17:50
【问题描述】:

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

'User' Table
    - Id
    - Username

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

'ContactDetails' Table
    - Id
    - Email address

“用户”表中特定用户的 ID 对应于“地址”和“联系人详细信息”表中的 ID。

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

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

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

谁能给我一个简单的例子,说明如何使用注释映射关系?我不想将类地址或联系人详细信息更改为包含“用户”类型的变量,因为我只会通过用户类访问用户地址或联系人详细信息。很遗憾,我无法更改数据库。

【问题讨论】:

    标签: hibernate jpa annotations one-to-one jointable


    【解决方案1】:

    您必须将@Embeddable 注释与@AttributeOverride 一起使用,以强制将嵌入的实体持久化在自己的表中。

    http://en.wikibooks.org/wiki/Java_Persistence/Embeddables

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      相关资源
      最近更新 更多