开发者社区> 问答> 正文

关于分层领域模型规约中DO的一点疑问

yusijia 2017-06-12 23:32:32 2787
对《阿里巴巴java开发手册》中关于分层领域模型规约 有个疑问:DO(Data Object):与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。

那如果是类似:
select id, avg(grade) as avg_grade
from s;

查出的avg_grade不是与数据库表对应的字段,是应该将这种字段封装到DTO里,然后DAO层返回该DTO吗?

(用了mybatis框架)

Java 数据库连接 数据库 mybatis
分享到
取消 提交回答
全部回答(2)
  • 社区不留名
    2019-07-17 21:17:12

    个人观点:
    1、把DO定义成与DB里表映射,这个太过狭隘,DO里的Data应该是个泛指,而不仅仅是数据库里持久化下来的数据,DTO/VO这些都应该是Data,只是可能没有持久化下来而已
    2、如果要映射DB表的话,感觉用PO(Persistence Object, 持久化对象)更合适些
    3、如果要定义关系的话,DO是POJO的扩展,同时DO是PO/BO/DTO/VO这些统称

    1 0
  • yu_hc200
    2019-07-17 21:17:12

    不用完全把规约当成教条,这种情况可以视为数据库层有一个计算后的字段,只是没有实际写到库里,sql查到后直接放到dao要传出的do就好

    1 0
添加回答
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题