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

即使某些属性为空,是否有办法使自定义查询返回模型对象?或者其他一些技术更好?

4

1 回答 1

3

您可以使用必填字段和适当的构造函数创建 DTO,并使用构造函数语法从查询中返回它:

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