JPA と Hibernate を使用していますが、少なくとも私にとっては、HQL を構築するには複雑すぎる必要があります。ネイティブ SQL を使用することにしました。子リストを含むいくつかのレコード/エンティティを取得する必要がありますが、子をフィルターする必要があります。すべての子は必要ありません。これは可能ですか?
たとえば、次のような3つのテーブルがあります
会話テーブル: id
メール テーブル: ID、会話 ID、送信者 ID
user_table: id、married_bool
既婚ユーザーから送信された sconversation
で満たされたリストを持つエンティティが必要です。mail
ここまでやってみた
Select * from conversation_table join mail_table on ( mail_table.sender_id=user_table.id and user_table.married_bool=true)
次のようなエラーが表示されます。
user_table is unknown
私は試した
Select * from (conversation_table, user_table, mail_table) join mail_table on ( mail_table.sender_id=user_table.id and user_table.married_bool=true)
私は得ています
mail_table is non unique table/alias
これは簡単な例にすぎません。また、recipient_table などの他のテーブルのメール エンティティのエンティティ リストを入力する必要があります。ネイティブ クエリでもこれらを入力するために結合句を追加する必要があると思います。よろしいですか? また、この追加の結合句を試すと、「不明」/「一意でないエイリアス」エラーが発生します。
提案をありがとう。