我如何映射这种关系?客户有许多以前的地址但只有1个当前地址(双向关系)

时间:2013-08-15 11:16:27

标签: hibernate jpa

客户有很多地址但只有一个当前地址。

因此,在我的Oracle中,我将有以下表格:

CUSTOMER
CUSTOMER_ID
NAME
CURRENT_ADDRESS

ADDRESS
ADDRESS_ID
CUSTOMER_ID
ADDRESS_DETAILS

我似乎无法映射出我的hibernate关系,以便能够设置其当前地址并有一个列表来查找其以前的所有地址

我是否需要弱关系来表示当前地址?

CURRENT_ADDRESS
CUSTOMER_ID
ADDRESS_ID

我确信这是以前已经解决的常见问题。

1 个答案:

答案 0 :(得分:0)

  1. 删除客户表中的current_address指针。
    1. 地址表格中添加指标:IS_CURRENT。
    2. 创建一个仅选择IS_CURRENT = TRUE地址的视图。
    3. 使用@OneToOne批注将此视图连接到客户的实体。
  2. 您可以在此question

    中找到包括我的其他解决方案

    希望它能帮到你:)。