2016-09-26 9 views
0

私は次のような問題を解決しようとしています:財のグループ、商品タイプ:JPAマッピング - 複合FK日付範囲と

私は含まれていORDERSの一つのテーブルを持っています注文日 ...これはグループタイプ、とテーブルを参照しますからの有効な値は、PK + 有効なフィールドです。

JPAを使用して商品を複数のSQLクエリを保存するために注文することができるという夢がありました。

私は基本的に、複合関係マップするために、次のaproachを使用することができます信じる:

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

をしかし、私は日付属性とのトラブルを持っている...私は明らかにただ1つの日付フィールドをマップするために、「等しい」を使用することはできませんので、別のものに...私は注文の日付が有効期日と有効期限の間にあるような商品を選択する必要があります

JPAでそれを行うには?それも可能ですか?または、後で必要な情報を取得するためにコードの後に​​新しいSQLクエリを作成する必要がありますか?

答えて

0

GOODSでは複合PKを使用せず、技術的なID(生成される可能性があります)を使用しないでください。この問題を回避し、このPKをORDERSで使用します。

ORDERSのすべてのGOODSコンポジットPKを使用し、ORDERSでvalid-fromを追加します(ただし、これは最善の方法ではありません)。

+0

問題は私が注文書も品物も変えられないということです。私たちは複雑な生きたシステムの上で何年も前に開発しています...それをそのまま使用する必要があります。 GOODSのデータはSQLを使用して解決するのは簡単ですが、余分なクエリを節約したいのですが、特定の状況下では可能ではないかもしれません。 – Ellrohir