在java的orm方面可以说是hibernate和mybatis占据大多数市场。国内现在逐渐流行mybatis这种半自动的orm。mybatis虽然很优秀,但是开发效率还是不太高,需要写很多配置和sql。反观activerecord类型的orm比如ActiveJDBC或jOOQ却没见多少人在用。可是在python,ruby,php平台上只要是orm全是这种activerecord类型的。java作为使用频率最高的编程语言,在orm上却这样奇怪。
mybatis很简单,写原生sql灵活性强,其实在开发过程中写sql占用的时间并不多,一些号称提高效率的重型orm框架其实省不了多少时间,反而排查莫名其妙的问题占用的时间要相当多
1、是的Java的ORM市场几乎都是Hibernate和Mybatis占据了。主流的互联网架构几乎都选择他们
2、先入为主,大家都在用了,Hibernate太重,Mybatis相对轻量级,而且性能相对高,适合互联网公司
3、ActiveJDBC 和ActiveRecord ,我看了一下资料,确实编写开发更简单,语法糖也很好。
4、主要是成熟,比如MyBatis架构,生态社区庞大,都在用,虽然语法落后,需要配置,但是都在用,这样遇到问题好找资料,优化也容易做。包括自定义SQL,简单的场景自动生成SQL可以,但是其实隐藏很多问题。
5、以后Hibernate和MyBatis可以考虑借鉴ActiveRecord 优点。结合一下
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。