为何不选 Hibernate,非要 MyBatis?

329 天前
 dc2002007

###一直不能理解 Hibernate 这么优秀的 orm 思想框架,为什么这么多项目还选择了在 xml 里写 sql 的 MyBatis ,求解惑?

当然我首先是不能接受在 xml 里写 sql 这种行为的!
orm 不够优秀吗?
15092 次点击
所在节点    Java
130 条回复
aLazarus
329 天前
那你怎么看待在 java 中写 hql 呢
pigeon2049
329 天前
方便基于 velocity 生成代码
如果你用过 ruoyi 之类的框架,实际上大多数情况你只需要数据库里建好表,页面上导入
自动生成实体 bean/mapper/service/serviceimpl/mapper.xml/controller/前端 vue 代码
murmur
329 天前
因为简单的 curd ,hibernate 都不需要了,拖拉拽自动生成,等写复杂报表,权限,表联合的时候就得手写 sql 了
JerryYuan
329 天前
大概是 hibernate 不能方便的跨几个表联查/用 sql 的骚操作?

PS:可能只是我不知道怎么搞
Goooooos
329 天前
为什么别人喜欢还要告诉你原因?
dc2002007
329 天前
@aLazarus hql 在 java 里写还是可以接受的,毕竟起初就是写在代码里的
dc2002007
329 天前
@Goooooos 你是第一嘲讽的,我很开心
zzzkkk
329 天前
web 开发的本质就是 sql 增删改查 hibernate 之流等于脱裤子放屁
potatowish
329 天前
现在用 MyBatis 的都是用 MyBatisPlus 吧,既能不写一行 SQL (单表),又支持手写 SQL (联表、动态 SQL ),直接用原生 MyBatis 的都是上古项目了
gejun123456
329 天前
hibernate 学习曲线高,没点经验容易出问题,mybatis 简单直接,稍微学习就会了出错概率小点,缺点是关联关系的时候需要手动操作的地方多点,可以试试 idea MybatisCodeHelperPro 插件,xml 写 sql 都有代码提示,写起来方便很多。
yooomu
329 天前
因为在多人合作的大型项目中,每个人水平不一。Hibernate 过重,黑箱过多,能完全掌握的人并不多,一旦出现问题难以定位。而原生 sql 简单,是个后端就会写,方便优化。用面向对象的方式操作数据库确实很爽,但是大型项目需要保证下限,再爽也没用,况且 mybatis plus 操作单表也不用写 sql
Goooooos
329 天前
@dc2002007 这是反问,不是嘲讽
如果这算嘲讽,那你心理预期有点低
yooomu
329 天前
@yooomu 配合现代 IDE 加持,xml 中写 sql 也没什么不好,智能提示,语法检查一应俱全。在一堆项目都是 java8 ,不支持多行字符串的情况下,你难道想在 java 代码中写 sql 吗
dc2002007
329 天前
@Goooooos 剧情发展所需,凑个数而已!
issakchill
329 天前
完全赞成 11 楼说法
jpa 那套不钻研一下 写出来的太多坑了
sunwei0325
329 天前
除非你新开项目, 能说服其他成员, 否则老项目你也不敢动这个啊
Bingchunmoli
329 天前
不会 ssh 只会 ssm ,所以用 mybatis
goodblue
329 天前
因为在某个阶段,大家都在追求效率,满足扩张业务,堆人也更好堆
totoro52
329 天前
现在除了老项目,新项目应该会首选 mybaitsplus 吧? 建议楼主体验一下 plus 版本就知道多爽了
纯 mybaits 确实痛苦,但我感觉这种痛苦只是存在简单的项目
换个思路想,为什么非要在他们两者去选? 简单的项目 Hibernate , 复杂的项目我绝对 mybatis ,不过现在我都用 plus , 等于两者一起用了
version
329 天前
单表 JPA 那套确实没问题.也就适合国外单一需求
国内大融合需求..啥功能都要..基本拍版就改..不写 sql.很难存活.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1011737

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX