首先,这个问题应该由开发团队的负责人来考虑,而不应该由架构师决定;
因为使用框架的人是开发团队,而不是架构师;
- Spring Data JPA
是ORM框架,在代码和SQL前增加一个新的层次,新的标准,需一定的学习成本,复杂SQL也有解决方案,无需直接操作SQL,详见spring.io官网,对开发团队水平有要求,不然后期维护会崩盘,切换数据库经常变换或需支持多种数据库很方便,spring全家桶的版本兼容性; - Mybatis
是半ORM框架,能直接操作SQL,SQL集中管理,对于开发团队要求比JPA低,因为国内码农都学过数据库,能写SQL,上来就能使用,缺点是由于直接写SQL,只支持一种类型数据库,要切换数据库,SQL要重新写;
spring data jpa | mybatis | |
---|---|---|
精通学习成本 | 高 | 低 |
数据库依赖 | 低 | 高 |