2010-12-20 6 views
1

うまくいけば、これは簡単な質問です。Hibernateでの結合を2次元リストではなくリストを返す方法を教えてください。

私はの線に沿ってHQLに参加やってる:

FROM Apple a, Orange o WHERE a.price = o.price AND a.price > 1.99 

私はこれを行うと、私は戻って参加を代表するコレクションを取得します。ただし、コレクションの各要素は、実際には、関連するリンゴとオレンジを含む別のコレクションです。

私が欲しいのは、リンゴのリストです。リンゴとオレンジのリストがあります。論理的に、私を探しています:

私の実際の問題はこれよりも複雑ですが、私は基本的な問題に単純化しました。どのようにしてこのHQLクエリを修正/修正して、1つのタイプのオブジェクトを与えるだけですか?

+0

ことが可能なはずであるドキュメントから

select p from NameList list, Person p where p.name = some elements(list.names) 

に参加するので、それはあなたがやっているようである「からリンゴaを選択し....」 – hvgotcodes

答えて

2

少しあなたのクエリを変更します。

SELECT a 
FROM Apple a, Orange o WHERE ... 
+0

私が前にすることを試みました投稿しても機能しませんでした。私はチャンスを得ると、私はそれをもう一度やり、私が得るエラーを投稿します。私たちのアーキテクチャーはかなり複雑なので、エラーは他の場所にある可能性がありますが、少なくともselectステートメントを追加してSHOULDを動作させることを知っておくと良いでしょう... – gMale

+0

nullポインター例外が発生しました。判明したのは、「Select a」ではなく「SELECT Apple」と入力したからです。これが実際に仕事が問題を見つけるのを助けなければならないことを知って...感謝します。 – gMale

2

を私はドキュメントに行ってきました、私のコメントを残した後。ここでは例のシータは、あなたが何かしようとしたのは間違いなく

+0

お返事ありがとうございます。この例は関連するものが1つしかないので(Cat)関連していません。ここで問題になるのは、結合に2つのオブジェクトがあり、両方が返されているということです。 – gMale

+0

@gmale、複数のオブジェクトを含む次の例で私の答えを更新しました;) HQLの章を見ましたか? ;) – hvgotcodes

+0

私は多くのオンラインHQLリソースを読んだことがありますが、実際には結合クエリから返されたデータ構造の詳細を掘り下げたものはありません。だから私は問題がHQLか、コードベースの他の50の要因から来ているかどうかはわかりませんでした。あなたが誤って "SELECT p"の代わりに "SELECT person"と入力した場合は、非記述のヌルポインタ例外が発生します。私の場合、スタックトレースはありませんでしたので、本当に混乱させました。応答する時間をとってくれてありがとう。 +1 – gMale