现在接手的一个项目比较老,前面经历了 3 个开发团队,业务逻辑复杂表关系设计也比较混乱。 现在需要开发一个接口,需要的数据要从很多有关系没关系的表中取,如果写 SQL 大致如下
select *
from t_test_object tto
left join t_consign_info tci on tto.consign_info_id = tci.id
left join t_consign_project tcp on tci.project_id = tcp.id
left join t_report_object tro on tto.id = tro.test_object_id
left join t_report tr on tro.report_id = tr.id
left join t_task_report ttr on tr.id = ttr.report_id
left join t_test_task ttt on ttr.task_id = ttt.id
where tcp.is_test_item = '0';
还有几张表没有写进去,接口要求支持分页,看以前的类似接口都是写的这种 SQL 查询的。
学了一下criteria
和hibernatetemplate
之后,想请教一下这种业务需求是将数据的拼接以面向对象的思想放到代码中好,还是用 SQL 查询将压力放到数据库更好呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.