Spring - 使用基于接口的投影比基于类的投影 (DTO) 更理想吗?

所以我偶然发现了两种投影选择,接口与类。

我的问题是,选择基于类的投影(使用 DTO)真的比选择接口更好吗?DTO 的概念不是只检索信息而不是实体本身吗?如果是,那么界面投影是不是更适合它,因为它只是一个界面?我当然是在说它是否对性能更好。


明月笑刀无情
浏览 207回答 1
1回答

猛跑小猪

只检索信息而不是实体本身?如果您需要实体的唯一部分内容或来自多个表的复杂数据,您应该使用 DTO/投影。界面投影是不是更适合它,因为它只是一个界面?我更喜欢使用基于接口的投影,因为它们比基于类的投影有一些优势:1)它们更容易实现(它只是一个接口)2)它们可以是开放的——所以我们可以扩展它们的功能3)我们必须在您的自定义查询中使用基于类投影的构造函数,与基于接口的不同,比较:Query("select m.name as name from Model m")&nbsp;List<ModelProjection> getModelList();Query("select new com.example.ModelDto(m.name) from Model m")&nbsp;List<ModelDto> getModelList();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java