Man*_*dan 5 jpa spring-data spring-data-jpa
我有这种情况:
它即将Spring Data与一组特定的字段一起工作@Entity
这两个建议对我来说完全有效:
DTO projectionsProjection interfaces更重要的是,spring-data-examples两者同时出现(我知道用于示例目的):
因此:
基于类的预测 (DTO)部分中的注意事项如下:
定义投影的另一种方法是使用值类型 DTO(数据传输对象),这些 DTO 包含应该检索的字段的属性。这些 DTO 类型可以以与使用投影接口完全相同的方式使用,除了不发生代理并且不可以应用嵌套投影。
似乎优点是:except that no proxying happens 和 no nested projections can be applied
DTO方法
亲
骗局
这将导致更多代码,因为您必须使用构造函数和 getter/setter 创建 DTO 类(除非您使用 Project Lombok 来避免 DTO 的样板代码)。
不能应用嵌套投影。
预测
亲
更少的代码,因为它只使用接口。
可以应用嵌套投影
动态投影允许您编写一种通用存储库方法,以根据客户的需要返回实体对象中不同的属性子集。
骗局
如果您需要嵌套或动态投影,您可能需要投影方法而不是 DTO 方法。
有关详细信息,请参阅官方 Spring 文档。
我认为 DTO 是处理来自实体的一小组数据的第一个可能的解决方案。如今,许多操作也可以通过投影进行,但您需要注意性能。如果您看到 Janssen 的帖子Entities or DTOs \xe2\x80\x93 When should you use whichprojection?您会注意到,对于读取操作,DTO 的性能比预测更好。
\n\n如果您没有性能问题,投影会更加优雅。
\n| 归档时间: |
|
| 查看次数: |
6732 次 |
| 最近记录: |