1

私は次のようなものを持っています:

Predicate p = ...;
List<MyObject> objectList = (List<MyObject>) myRepository.findAll(p); // myRepository is autowired

これは、重複を含むすべての MyObjects のリストを取得します。代わりにDISTINCTリストを取得することは可能ですか?

本当に EntityManager と CriteriaBuilder を使用する必要がありますか? それとも、述語とリポジトリ オブジェクトだけで実行できますか?

リストを手動で反復処理して重複を削除したり、コレクション API を使用したりすることについては話していませんが、JPA または QueryDSL API について詳しく説明しています。

4

1 に答える 1

1

はい、可能です。以下は、私が考えることができる簡単な手順です

  • MyObject クラスに hashCode() と equals() を実装します。

  • Collection を引数として受け取るコンストラクターを直接使用して、上記のリストに基づいて Set を作成します。

于 2013-08-11T13:13:08.197 に答える