1

多くのプロパティを持つモデルがあります。リストの場合、ほとんどのプロパティは詳細ビューでのみ表示されるため、これらのプロパティの一部のみを取得したいと考えました。

そこで、リポジトリ用に次のクエリを作成しました。

JpaRepository< Customer, Long >

@Query("SELECT id, name FROM Customer")
public List<Customer> findAllSummary();

それは動作します - 実際、ID と名前は返されますが、Customer オブジェクトとしては返されません。これは、データを JSON クライアントに返すときに問題になります。プロパティ名はなく、各行の値だけですが、デフォルトのクエリでは名前も返されます。次に例を示します。

"id": 1
"name": "John"
// rest of the properties

一部のプロパティがnullであっても、カスタムクエリがモデルオブジェクトを返すようにする方法はありますか? または、これには他の手法が適していますか?

4

1 に答える 1

3

必須フィールドと適切なコンストラクターを使用して DTO を作成し、コンストラクター構文を使用してクエリから返すことができます。

@Query("SELECT new CustomerSummary(id, name) FROM Customer")
public List<CustomerSummary> findAllSummary();
于 2013-03-08T09:49:42.007 に答える