[转帖]浅谈mybatis和jpa的区别
浅谈mybatis和jpa的区别 https://www.jianshu.com/p/32ce87c163d6 其实要承认,一个东西用久了都会有习惯心理。mybatis和jpa,两个持久层框架。从底层到用法都不同。但是实现的功能是一样的。所以说一直以来颇有争议。常年混迹于各大qq技术交流群。见过jpa的死忠粉也见过mybatis的铁杆。作为一个不到两年工作经验的小菜鸟来说,你让我分析源码,讲什么底层实现我是讲不出来的。只能作为一个使用者,来谈谈自己对这两个框架的理解。 首先,都知道jpa的前身是著名的ssh中的h——>Hibernate。我到现在还记得学习Hibernate时对它产生的讲解:一个希望不用写sql语句来操作数据库的懒到愿意为此开发一个框架的创始人,其实也够奇葩到值得记住了。而现在的jpa,我觉得主旨也确实在贯彻这个理念。你要承认,jpa的对于单表的简单查询确实简单方便又实用。但是同时,对于多表关联和复杂查询,起码目前为止,要么把复杂查询拆成多个简单查询,要么宁可直接一个nativeQuery = true来原生查询。如果这两点都没能满足你业务的需求,我不敢下定结论说你的设计有问题,但是如此复杂的业务逻辑,身为小白的我实在无法给你建议了。 然后说到mybatis,原谅我入行时间比较晚。从我开始学习java他就已经出现了。听说过他前身好像是ibatis ,