2016-09-26 72 views
0

我试图解决以下问题:JPA映射 - 与日期范围复合FK

我有订单包含一个表:组货的,类型的商品的订单日期 ...这是指表商品,其中有效 - 从是PK + 有效到字段。

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

我相信我能基本上都用下面的形式给出映射关系复合:

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

但我有麻烦与日期属性......因为我显然不能只用“等于”映射一个日期字段到另一个...我需要选择这样的货物,其中订单的日期介于有效日期和有效日期之间

但是,如何使用JPA执行此操作?它甚至有可能做到这一点?或者我不得不在后面的代码中创建新的SQL查询来检索所需的信息?

回答

0

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

或者在ORDERS中使用所有GOODS组合PK,并在ORDERS中添加valid-from(但这不是最好的方法)。

+0

问题是我不能改变ORDERS和GOODS表......我们正在开发一个复杂的,现场系统,多年以前......我们需要使用它,因为它:(选择正确的问题来自GOODS的数据很容易用SQL解决,但是我想保存额外的查询,但是在特定情况下甚至不可能。 – Ellrohir