0

Race と Player の 2 つのエンティティがあり、Hibernate は Race と Player が ManyToMany 関係によってリンクされているため、1 つのテーブル race_player を作成しました。

次の方法でレースのリストを取得する必要があります。

  • ステータス「利用可能」
  • これらの各レースに 1 人以上のプレーヤーが登録されています。

私は一日中検索して、hql形式で次のクエリを取得しました:

status = 'available' および idrace の race から racename を選択します ( count(raceid) > 1 を持つ raceid によって race_player グループから raceid を選択します);

問題は、hql クエリでテーブル race_player を使用できないことです。

プレイヤーの数は race_player テーブルでのみ参照されるため、この情報を取得する方法がわかりません。

ご協力ありがとうございました !

4

2 に答える 2

0

助けてくれてありがとう、私は解決策を見つけるのに非常に近かった. 実際、それは構文の問題でした。ラマン、私はあなたの解決策を試しましたが、それはほぼ正しかったです. 次のように、文字列比較の間にスペースを入れずにリクエストを作成する必要がありました。

Select raceName from Race r where r.status='available' and r.playersList.size >1

クレイジーですね。私は何時間も何本か髪を失いましたが、最終的に例外なくこのたわごとを実行できてとても幸せです. もう一度、ありがとう!

于 2013-06-16T21:17:33.930 に答える