あなたが取得したいフィールドのためのクラスを作成する必要があります最初のクエリから、たとえば、オブジェクトを作成するには:
:
package com.my.package;
public class MyObject {
private String fieldOne;
private String fieldTwo;
public MyObject(String fieldOne, String fieldTwo) {
this.fieldOne = fieldOne;
this.fieldTwo = fieldTwo;
}
// Other methods...
}
次に、これらの特定のフィールドのためのあなたのjpql
クエリは次のようになります
@Query("SELECT new com.my.package.MyObject(t.fieldOne, t.fieldTwo) FROM MyTable t")
List<MyObject> findMyObjects();
:
SELECT new com.my.package.MyObject(t.fieldOne, t.fieldTwo) FROM MyTable t
あなたはこのよう@Query
注釈を使用して、リポジトリにそれを使用することができます
またはEntityManager
を使用して:
EntityManager entityManager = ...;
entityManager
.createQuery("SELECT new com.my.package.MyObject(t.fieldOne, t.fieldTwo) FROM MyTable t", MyObject.class)
.getResultList();
出典
2016-05-05 09:13:53
Edd
はありがとう、あなたは、私に何のクエリを返すからオブジェクトを構築するために、より一般的な方法を与えた私はこの_ "新しいリストを選択します(t.fieldOne、t.fieldTwo)を行うために必要なFROM MyTable t "_ – saadoune