最近学习 MyBatis-Plus (看了 2 小时),学到通用 Mapper 这一块时,注意到了实体类的几个注解:
表名注解 @
TableName 、主键注解 @
TableId 、非主键字段注解 @
TableField,
实际上,这几个注解作用和 JPA 的 @
Table 、 @
Id 、 @
Column 功能基本是一样,
粗粗翻了一下 MP,诸如此类的注解还很不少。
按理说,@Table 、 @
Id 、 @
Column 等注解属于 JPA 规范(现在改名叫 jakarta.persistence-api ),
一般都放在 javax.persistence 的包路径下,属于 JSR-317,JSR-338 规范的内容,
很多持久层框架都支持这个规范,遇到 MyBatis-Plus 这样有自己独立注解的,有点惊讶。
我们的项目一直是 Spring Data JPA 和 MyBatis 一起用,如果要升级成 Spring Data JPA + MyBatis-Plus,
实体类字段就要标上两套注解,看着很是别扭,组员比较排斥这种用法。
这种做法在我看来,好处是避免了引入对 JPA 的依赖,还有其他方面的考量吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/700124
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.