2016-09-26 50 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