6

Spring Data を使用してエンティティの特定のフィールドのみを選択する方法に関する情報を見つけようとしています (JPA を使用しています)。エンティティの特定の情報のみを選択したいのですが、リポジトリ インターフェイスは、エンティティ全体の情報を返す方法を提供します! エンティティの 2 つまたは 3 つのフィールドだけが必要な場合があり、20、30、...100.. フィールドを返すのは少しやり過ぎかもしれません。

この種の機能は、Hibernate Criteria Projections または JPA "SELECT NEW ...." クエリを使用して行うものです。Spring Data で可能かどうかはわかりません。

ありがとう。

4

3 に答える 3

3

あなたができることはList<Object[]>、リポジトリから返すことです。次に、サービス クラスでこのリストを繰り返し処理し、必要なオブジェクトを手動で作成します。サンプル リポジトリ メソッド

@Query("select el.moduleId, el.threadId from ExceptionLog el")
public List<Object[]> tempQuery();
于 2012-12-20T03:05:29.077 に答える
2

こんな風にもできると思います

SomeDataPOJO{
    required col1
    required col2
}

そして、このようにクエリを書きます

@Query("select new SomeDataPOJO from requiredTable where xyz="abc")
public List<SomeDataPoJO> tempQuery()
于 2016-01-08T07:01:30.907 に答える