JPA映射 - 具有日期范围的复合FK

时间:2016-09-26 09:05:17

标签: java sql jpa orm mapping

我正在尝试解决以下问题:

我有一张 ORDERS 的表,其中包含:商品组商品类型订单日期 ...这是指 GOODS 的表格,其中类型有效 - 来自是PK + 有效至字段。

我有一个梦想,我可以使用JPA将商品映射到订单以保存多个SQL查询。

我相信我基本上可以使用以下方法来映射复合关系:

@JoinColumns({
        @JoinColumn(name = "heilgruppe", referencedColumnName = "heilgruppe"),
        @JoinColumn(name = "code", referencedColumnName = "heilmittel_code")
    })

但我对日期属性有麻烦...因为我显然不能只使用"等于"将一个日期字段映射到另一个...我需要选择此类商品,其中订单的日期位于valid-from和valid-to日期之间

但如何用JPA做到这一点?它甚至可以做到吗?或者我是否被迫在代码中创建新的SQL查询以重新获取所需的信息?

1 个答案:

答案 0 :(得分:0)

不要在GOODS中使用复合PK,而是使用技术ID(可能生成),您将避免该问题并在ORDERS中使用此PK。

或者在ORDERS中使用所有GOODS复合PK并在ORDERS中添加valid-from(但这不是最佳方式)。