Java 服务端开发,Spring 框架几乎成了行业标准。请问和 Spring 结合使用的 ORM 框架现在流行哪一些?还是 MyBatis 吗
|  |      1orcusfox      2020-11-24 13:09:57 +08:00 via iPhone  2 mybatis, spring jpa | 
|  |      2chendy      2020-11-24 13:17:11 +08:00 orm 基本就 hibernate ( spring-data-jpa 基于 hibernate mybatis 这种算不上 orm… | 
|  |      3Braisdom      2020-11-24 13:20:45 +08:00 | 
|  |      4yjxjn      2020-11-24 13:23:16 +08:00 via Android 我就知道有人说 mybatia,其实 hibernate,jpa 算 orm,而 mybatis 不算 orm | 
|  |      5wangyanrui      2020-11-24 13:27:34 +08:00 via Android @yjxjn 4 楼+1 面相数据库编程的东西,好意思叫 ORM (手动狗头) | 
|  |      6cheng6563      2020-11-24 13:28:33 +08:00 via Android orm 并不好用 | 
|      7mumubin      2020-11-24 13:39:39 +08:00 via Android 所有的 orm 最终还是解析成 sql,orm 也都只是语法糖,除了开发效率略高点,都不如好好用 mybatis,直接精进 sql 水平。orm 用的时候很难注意到 for 循环查库,slow sql,多表 join 等不利于性能的问题 | 
|  |      8lewis89      2020-11-24 13:53:02 +08:00 @mumubin #7 mybatis 就不多说了,一对多关联关系非常弱鸡,我们公司基本上是为每一个对象都建了一个 mapper,结果就是一对多 全靠代码手工维护,难用的一批,而且枚举全部用 int 值来维护,没有注解跟 IDE 你根本搞不清真正的 java 枚举定义在哪里,另外代码中的数据结构原比数据库表关系的关联关系要丰富得多,数据库只是一个目前硬件环境下妥协的方案,并不是最优方案。另外 mybatis 同样难以避免 for 循环,这跟框架没有任何关系,你让傻子写代码他肯定不会关注这个问题,哪怕是 mybatis 照旧也会用 for 循环。 多表 join ORM 框架也提供很多自定义查询语句生成的代码工具,一句 SQL 都不用写,难在 ORM 本身封装层次多,不透明,黑箱,学习成本使用成本高,mybatis 确实现在操起来,看上去多快好省,但实际上后期维护的成本也不低。 | 
|  |      9volantRookie      2020-11-24 15:48:12 +08:00 根据使用情况来看的话,个人感觉 mybatis 最好还是不要把一对多、多对多这样的关系写进 XML,要不然真的难看,建议使用组合模式,程序多写写数据映射的 model 类,会好很多 | 
|      10hotcool100      2020-11-24 16:03:25 +08:00 nutz | 
|  |      11luwies      2020-11-24 16:19:52 +08:00 r2dbc | 
|  |      12lower      2020-11-24 16:22:21 +08:00 当时看到 hibernate 里的什么游离态之类的概念,瞬间就被恶心到了…… | 
|  |      13wysnylc      2020-11-24 16:26:38 +08:00 tkMapper | 
|  |      14varrily      2020-11-24 16:34:08 +08:00 mybatis 用这顺手,云原生推荐是直接 jpa 。 | 
|  |      15samin      2020-11-24 16:44:01 +08:00 | 
|      16jjianwen68      2020-11-24 17:00:41 +08:00 用 r2dbc 吧 | 
|  |      17bk201      2020-11-24 17:08:07 +08:00 我一直觉得数据库查询这种玩意不应该和代码耦合在一起,所以 orm 我一直觉得是个玩具。 | 
|      18warcraft1236      2020-11-24 17:28:22 +08:00 @bk201 怎么能不耦合? | 
|      19xx6412223      2020-11-24 17:30:33 +08:00 发现好多人不理解 jpa 的概念 | 
|  |      20PopRain      2020-11-24 17:40:14 +08:00 命令与查询分离模式, 命令等操作用 ORM, 查询可以直接写 SQL ,兼顾了开发效率和功能; 整个项目写 SQL 对于稍大点项目简直是灾难。。。。 | 
|  |      21wysnylc      2020-11-24 17:44:25 +08:00 tkmapper | 
|  |      23xiaogui      2020-11-24 17:46:13 +08:00 spring data jpa | 
|  |      24tinyuu      2020-11-24 18:14:35 +08:00 via iPhone ebean +kotlin | 
|      25wiix      2020-11-24 18:46:27 +08:00 Hibernate 、EclipseLink | 
|      26fpure      2020-11-25 08:31:21 +08:00 via Android 说实话,用来用去还是 mybatis 最好用 | 
|  |      27tctc4869      2020-11-25 11:07:25 +08:00 beetiSql,jfinal 的 ActiveRecord | 
|  |      28tctc4869      2020-11-25 11:10:32 +08:00 其实想用面向对象来编写 sql 数据库减少编写 sql 语句成本,还不如用文档数据库。orm 真是在 javaBean 与 Sql 的转换的中间进行一个包装 | 
|  |      29tallon      2020-11-25 13:51:21 +08:00 我用着 mybatis-plus 还是挺好用的 | 
|  |      31fivesmallq      2020-11-25 15:02:15 +08:00 推荐尝试下 ebean | 
|  |      32Braisdom      2020-11-25 15:13:19 +08:00 @GM 目前 1.3.9 版本是稳定版本,example 下有多种数据库的单元测试,基本覆盖了所有 case,最近在做分页查询,使用起比 MyBatis 方便很多,(我个人觉得,哈哈) | 
|  |      33quejuwen      35 天前 jfinal 的 ActiveRecord |