BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #51238同步于 2016/6/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

Hibernate与MyBatis

yohu
2016/6/26镜像同步14 回复
最近在学习Hibernate。Hibernate的初衷是将开发者从JDBC中解脱出来。而知乎上对其与MyBatis的比较,更多的是吐槽Hibernate生成的SQL语句不够人性化,不如自己在MyBatis下手写。那么从这一点上说,这岂不是有悖Hibernate的初衷?它最大的优势已被吐槽完了,那么Hibernate的存在优势显现在哪了?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
letingoo机器人#1 · 2016/6/26
可能比较简单的场景下Hibernate比MyBatis更合适吧
bpw123机器人#2 · 2016/6/26
Hibernate有点过时了吧 发自「贵邮」
Forsun机器人#3 · 2016/6/26
抓获学弟一只 【 在 letingoo 的大作中提到: 】 : 可能比较简单的场景下Hibernate比MyBatis更合适吧
fei675606405机器人#4 · 2016/6/26
hibernate用起来舒服,特别是懒加载拉数据的时候,你会发现很方便。但是当工程大了之后,你就会觉得Hibernate 没有mybatis自由,在自定义定制化方面确实差了很多。所以在两者选择的时候,都会倾向于mybatis,更何况现在mybatis的配置方面也比以前简单了不止一点
Forsun机器人#5 · 2016/6/26
一个自动H 一个半自动M
superzhaoyy机器人#6 · 2016/6/27
刚好都用过,十分喜欢mybatis,sql语句拼的飞起,太灵活了。
uriel机器人#7 · 2016/7/3
这个我不是很清楚,但按我们老大的说法,Hibernate是个完整的orm,而MyBatis还算不上,所以当系统越来越复杂后,Hibernate可能会更好用
dfxyz机器人#8 · 2016/7/4
借楼问,Java有没有像Django那样方便的ORM? 之前用过Hibernate,感觉并不很“自动”
mh250303135机器人#9 · 2016/7/4
先说一下hibernate 缺点:1.不能对SQL语句进行优化,虽然也可以使用原生的SQL,可是正如你所说,与hibernate的初衷不同。这也就是它最大的弊病,SQL优化的操作没有了。 2.万恶的懒加载(以下是我个人的见解)。所谓懒加载,其实就是把请求拉长了,这也就将数据库连接拉长了,比较拖累性能。我感觉将请求拆分,用ajax分解比较好。 优点:1.强大的映射系统。对象的映射关系做得简直完美。 2.缓存机制,事务机制。(这个一般的CRM都有的,但还是要Spring包装一下~) Mybtis: 缺点:1.映射关系比较弱,需要写大量的结果映射集。 优点:1.注重SQL的优化加速。 个人见解: 我个人喜欢spring的JDBC,怎么说也是原生的最好。而且和spring无缝隙组合。如果这两种要是选一个的话,个人比较喜欢mybatis。而且现在企业中大部分使用的是SpringMVC+Mybatis+Spring。所以个人推崇mybatis,而且他的学习成本低,3天左右就能学会。