gpt4 book ai didi

java - Spring - 使用基于接口(interface)的投影比使用基于类的投影(DTO)更优化吗?

转载 作者:行者123 更新时间:2023-12-02 01:56:34 25 4
gpt4 key购买 nike

所以我偶然发现了两种投影选择:接口(interface)与类。

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

提前致谢!

最佳答案

retrieving only information rather than the entity itself?

如果您只需要实体的部分内容或多个表中的复杂数据,则应使用 DTO/投影。

isn't the interface projection more suited for that as it is only an interface?

我更喜欢使用interface-based projections因为它们比基于类的有一些优势:

1)它们更容易实现(它只是一个接口(interface))

2) 它们可以是open - 这样我们就可以扩展它们的功能

3) 我们必须使用constructor自定义查询中基于类的投影与基于接口(interface)的投影不同,比较:

Query("select m.name as name from Model m") 
List<ModelProjection> getModelList();

Query("select new com.example.ModelDto(m.name) from Model m")
List<ModelDto> getModelList();

关于java - Spring - 使用基于接口(interface)的投影比使用基于类的投影(DTO)更优化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52216078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com