现在网络上充斥着Jpa和Mybatis的一些对比。其实狭义上来说是hibernate和mybatis之间的比较。
例如:为什么感觉国内比较流行的 mybatis 在国外好像没人用的样子?
下面是一些截图
我不是一个喜欢评论的人,但这次我忍不住了。
UPDATE items SET price = 11 WHERE id = 1111
既然 Jpa 用起来省心,没必要硬跟某些大厂的步伐,一步两步,似魔鬼的步伐!
就像淘宝技术十年里说的:
如用户模块,老的 member.taobao.com 继续维护,不添加新功能,新功能在新的模块上开发,跟老的模块共用一个数据库,开发完毕之后放到不同的应用集群上,另开一个域名 member1.taobao.com ,同时再替换老的功能,替换一个,就把老的模块上的功能关闭一个,逐渐把用户引导到 member1.taobao.com ,等所有的功能都替换完之后,关闭 member.taobao.com 上。从设计上来看,这个 member1 的二级域名应该是一个过渡状态,但我们把 member 域名的代码下线以后,发现很难把 member1 切换回 member,因为有些地方把链接写死了,于是后来很长时间里我们都是在用 member1.taobao.com 这样奇怪的域名。一年后,有另外一家互联网公司开始做电子商务了,我们发现他们的域名也叫 member1.xx.com 、auction1.xx.com ,复制得毫无保留,我们只能会心一笑。
没错,我用JPA,我也很喜欢JPA的设计哲学。但是同时我觉得Mybatis也是一个很好的框架,高效地解决了很多问题,满足了很多企业的需求,给一个大大的赞。
技术只是解决问题的一种方式、一种工具,选择哪种技术因人而异,存在即合理。