国内绝大部分项目都是面向表结构编程的,把java对象仅当成数据容器,查询和模型变更都设计在一张表上,所谓业务逻辑就是一堆增删改查的sql集合,当然用mybatis方便。在逻辑不复杂,或者你判断软件生命周期不会超过一年的时候,直接用表结构编程是最方便快捷的。
国内普遍都是分布式,流量和性能决定了需要经常进行优化,而是用Mybatis对复杂需求的优化很方便。
4.政治环境
国内好多项目都是应付领导的某些奇葩需求。需要面向领导编程。一大半时间其实都是在解决领导的需求。国内项目需要大量报表统计(看看帆软卖的这么好就知道了),需要提供给领导作为决策。看到这里,各位领导不要骂我 ,真的不是黑领导的。
5.Hibernate学习成本高
虽然,实际上SpringDataJPA是非常简单的,但是,但是,JPA/Hibernate后期调试跟踪问题很麻烦,改起来也麻烦。别忘了,牛逼如你的人全公司甚至一个都没。还有什么缓存什么Criteria什么Lazy,虽然这些你学了也不见得能用上,但一个框架,你不学还是不行的。而且,JPA对于增删改很方便,复杂查询却是软肋,有同学会说,JPA也能写SQL语句啊,我想说的是,既然都用orm了,你再写sql,那不就失去了oop的内涵了吗?不优雅好吧。