2017-05-11 12 views
0

シンプルなスキーマ - OrderとOrderStateを持っています。後者は、時間の経過とともにどのように注文の状態が変化したかを記録しています。現在の状態は、最新のタイムスタンプを持つ子行の状態です。特定の状態のすべてのOrdersを照会する必要があります。両方のテーブルには、シーケンスから生成されるidカラムがあります。したがって、指定されたオーダーの最高のIDは現在の状態です。子ローに基づいてエンティティを取得するJPAクエリ

だから、完全に困惑

select order from Order o, OrderState os where os.order_id = o.id and os.id and os.state = <desired state> and os.id = *the highest id for that particular order*

イムのようなもの...

+0

マッピングファイル/クラスを追加しようとしています –

答えて

0

は、あなたがこの 選択*注文から、O OrderStateのOSのようにしてみてくださいできる場所os.order_id = o.idとos.st descendor = 'ostid ='要求された状態 'の順序でo.idの内容を書きます。

+1

これは、過去はその国を持っていたが、現在の国家は何か違うかもしれない。 – PaulJWilliams

+0

上記のクエリでは、希望の状態に基づいてレコードを取得しています。この場合、古いレコードを取得する方法。最新の最新のタイムスタンプは、現在の状態のみが正確な結果を得ることを意味します。これが間違っていると、 – kiran

関連する問題