hibernate 学习曲线高,没点经验容易出问题,mybatis 简单直接,稍微学习就会了出错概率小点,缺点是关联关系的时候需要手动操作的地方多点,可以试试 idea MybatisCodeHelperPro 插件,xml 写 sql 都有代码提示,写起来方便很多。
因为在多人合作的大型项目中,每个人水平不一。Hibernate 过重,黑箱过多,能完全掌握的人并不多,一旦出现问题难以定位。而原生 sql 简单,是个后端就会写,方便优化。用面向对象的方式操作数据库确实很爽,但是大型项目需要保证下限,再爽也没用,况且 mybatis plus 操作单表也不用写 sql
@yooomu 配合现代 IDE 加持,xml 中写 sql 也没什么不好,智能提示,语法检查一应俱全。在一堆项目都是 java8 ,不支持多行字符串的情况下,你难道想在 java 代码中写 sql 吗