1
私はここにマッピングされたPersonエンティティを持っています。このエンティティ内には、JPAアノテーションでマップされたロールセット(Set roles)があります。ok ...まあ、このコマンドからQueryDSLを使用してロールのセットを取得できません:QueryDSLを使用してセット<Object>を取得するにはどうすればよいですか?
Set<Role> roles = query.from(qPerson).where(qPerson.login.eq(userName)).uniqueResult(qPessoa.roles);
これは可能ですか?何を指示してるんですか?全てに感謝。
を使用することができますが、私はこの方法が優れていると思います。私は試してみるよ、ありがとう! 私はそれを持っています: オブジェクトroles = query.from(qPerson).where(qPerson.login.eq(userName))。list(qPerson.roles); if(roles!= null &&(roles instanceOf List)){ リスト rolesList =(リスト)ロール; セット rolesSet =新しいHashSet (); (ロールロール:rolesList){ rolesSet.add(role); } } など... –
これは奇妙なハックのようです。なぜ結果のタイプがわからないのですか? –
私はquerydslコードを見て、queryDSLがObjectのArrayListを返すことを認識しました。それから私はそのタイプのことを確信しているので、私はこのようにすることにしました。私は必要なものについては奇妙なハックを考慮しませんが、変換タイプを実行して私の問題を解決したので、素晴らしいハックです。 (私の英語には申し訳ありません) –