MyBatis 是不是遵循 JPA?
Posted
技术标签:
【中文标题】MyBatis 是不是遵循 JPA?【英文标题】:Does MyBatis follows JPA?MyBatis 是否遵循 JPA? 【发布时间】:2019-03-25 18:29:03 【问题描述】:作为我的第一个 ORM,我已经使用 myBatis 工作了几个月。现在我正在尝试学习其他东西,比如 Hibernate/JPA。起初很难理解 Hibernate 和 JPA 之间的区别。经过几分钟的研究,我了解到 JPA 只是一个规范,而 Hibernate 是 JPA 的具体实现。在此视频中:link 一切都得到了很好的解释,但视频的作者将 myBatis(iBatis) 视为 JPA 实现。这是一个好方法吗? myBatis 是否遵循 JPA?有一个答案,但已经 11 岁:link2。在我的带有 myBatis 的应用程序中,我不必使用 JPA 特定的对象/注释,所以这意味着 myBatis 不遵循 JPA?
【问题讨论】:
没有。 myBatis 文档在 Internet 上的任何地方都没有提到实现 JPA。 JPA API 已被广泛记录,您的使用不会使用这些类/方法,那么它怎么能呢???您提供的链接问了同样的问题(对于 iBatis,它与 myBatis 相同,因为它是简单重命名之前的原始版本)......答案是“不,绝对不是”。你能清楚到什么程度???? 复制***.com/questions/33652936/spring-data-jpa-mybatis @BillyFrost 我知道这个问题有点愚蠢。我只是想确定我是否能很好地理解它,因为 JPA 的概念对我来说是新的。无论如何,谢谢你的回答。 【参考方案1】:myBatis 没有实现 JPA。
在您提到的视频中,没有任何关于 ibatis/mybatis 是 JPA 实现的内容。 mybatis 被视为 ORM(它是)。视频中说hibernate、ibatis和toplink都有非常不同的接口,你不能随便换一个。如果有一个 API 允许使用不同的实现,那就太好了。但这并不意味着所有提到的 ORM 都实现了 JPA(作为这样的 API)。
【讨论】:
以上是关于MyBatis 是不是遵循 JPA?的主要内容,如果未能解决你的问题,请参考以下文章
springboot官方为何不支持mybatis,而选择底层为hibernate的JPA?