SpringBoot4系列03 - 集成Spring Data JPA与Hibernate 7
上一篇结尾我留了个约定:OrderRepository 还要再换一次实现,如果接口还撑得住,分层就算做对了。这篇换 Spring Data JPA,我来兑现这句话。
结论先放这儿:接口契约一个字没改,Controller、DTO、状态机、错误响应全部原样。但说实话,这是系列里坑最多的一篇,比前两篇加起来还多,而且大多不在「报错」,在「悄悄按另一套规则跑」,等你发现时数据已经不对了。
上一篇结尾我留了个约定:OrderRepository 还要再换一次实现,如果接口还撑得住,分层就算做对了。这篇换 Spring Data JPA,我来兑现这句话。
结论先放这儿:接口契约一个字没改,Controller、DTO、状态机、错误响应全部原样。但说实话,这是系列里坑最多的一篇,比前两篇加起来还多,而且大多不在「报错」,在「悄悄按另一套规则跑」,等你发现时数据已经不对了。
第 1 篇收尾的时候我留了一句话:OrderRepository 接口先空着,MyBatis、JPA、MongoDB 三篇各给一个实现类,外层代码一行不动。这一篇来兑现第一个承诺:把内存仓储换成 MyBatis-Plus,订单落进 MySQL。接口契约我一个字没改,坑倒是比预想的多,那个悬了两篇的 Jackson 3 坑也在这一篇掉进去了。
前两天在群里看到有人贴了一段接口返回,长这样。
| |
出错了也是这个结构,只是 code 变成 1,msg 变成错误信息,HTTP 状态码永远是 200。贴出来的人说前端已经按这个格式对接了,改不动了。