我有这种情况:
- Spring Data JPA: Work with Pageable but with a specific set of fields of the entity(使用
Spring Data
处理@Entity
的特定字段)
两个建议对我来说都是完全有效的:
DTO 投影
投影接口
更进一步,在 spring-data-examples
中,两者同时出现(我知道这是为了示例目的):
- 何时强制使用其中之一以及原因?
- 存在一个性能成本比另一个更高吗?
注意在基于类的投影(DTO)部分中提到:
定义投影的另一种方式是使用值类型DTO(数据传输对象),该DTO包含应检索的字段的属性。这些DTO类型可以像使用投影接口一样使用,只是没有代理发生,也不能应用嵌套投影。
看起来优点是:只是没有代理发生
和 也不能应用嵌套投影