2011-07-19 12 views
0

私はお互いに関連する3つのオブジェクトを持っています。プレイフレームワークJPAクエリネストされたオブジェクトが利用できません

私は2回の間に開始する予約を検索できますが、クエリにcar.clubを追加すると、結果はゼロになります。

私はまたにクエリを変更してみました:(「???のstartTime>とのstartTime <や車の中で」、開始、終了、club.cars)が、運と 検索(それは私にこのメッセージを与えた: でしたない

もう一つの試みは、車とクラブの両方にFetchType.EAGERを追加することでしたmodels.Car.idの反射ゲッターによってフィールドの値を取得しますが、それはどちらかの助けにはならなかった。

をまた、私がしなければ車で見つけることができます私はクラブを得ることができます、そして他の方法で。それは私がそれを見つけることができないこのクエリのちょうどです。 モデルオブジェクトは簡素化されていますが、私の問題を説明する形成。

ネストされたオブジェクトクラブに基づいて照会できないアイデアはありますか?

答えて

1

私は "魔法の"プレイについてはわかりません!部分的なクエリに追加されますが、このHibernateのクエリでは、我々は左を使用

select b from Booking b left join b.car car left join car.club club where b.startTime > :startTime and b.endTime < :endTime and club = :club 

注(外)車が存在しない場合でも、我々は結果

+0

こんにちはを取得する必要があることを意味しているの参加を動作するはずです、あなたのおかげで回答。残念ながら、クエリは私にまったく同じ結果を与えます。 – Tommy

+0

これを投稿して申し訳ありません。私の質問は完璧にうまくいきます。単なる私の単体テストでは頑張っていません。それは私が期待したものとは異なる名前をつけたCarの作成に誤りを見つけました。 私はEmmanuelによって上で提案された解決策もうまくいくと思います。 – Tommy

関連する問題