知识卡片

JdbcTemplate与JPA的选型取舍

专业/工作 · 621

内容

JdbcTemplate只是对原生JDBC模板代码的轻量封装,配置简单、心智负担低,适合查询逻辑不复杂的中小型项目;JPA则是一整套面向对象持久化规范,把表与实体做映射,能像操作对象一样处理表间关系(一对一/一对多/多对多),更适合业务复杂、表关系繁多的大型项目,但学习成本和”框架黑盒”程度也更高。两者不是谁更先进的问题,而是”复杂度匹配”问题:用JPA处理简单查询是杀鸡用牛刀,用JdbcTemplate硬撑复杂多表业务则会让代码退化成手写SQL的堆砌。发散:这与[[数据持久化框架的选型取舍]]中三方案的权衡同源,印证了没有万能的持久化方案,任何技术选型都要回到”当前系统的复杂度处于什么量级”这个问题上。

参考来源

《Spring Boot应用开发实战》第4章《数据库与持久化技术》