所以我偶然發(fā)現(xiàn)了兩種投影選擇,接口與類。我的問題是,選擇基于類的投影(使用 DTO)真的比選擇接口更好嗎?DTO 的概念不是只檢索信息而不是實體本身嗎?如果是,那么界面投影是不是更適合它,因為它只是一個界面?我當然是在說它是否對性能更好。
1 回答

猛跑小豬
TA貢獻1858條經(jīng)驗 獲得超8個贊
只檢索信息而不是實體本身?
如果您需要實體的唯一部分內(nèi)容或來自多個表的復雜數(shù)據(jù),您應該使用 DTO/投影。
界面投影是不是更適合它,因為它只是一個界面?
我更喜歡使用基于接口的投影,因為它們比基于類的投影有一些優(yōu)勢:
1)它們更容易實現(xiàn)(它只是一個接口)
2)它們可以是開放的——所以我們可以擴展它們的功能
3)我們必須在您的自定義查詢中使用基于類投影的構(gòu)造函數(shù),與基于接口的不同,比較:
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();
添加回答
舉報
0/150
提交
取消