无意间在 B 站看到的视频
在操作数据库方面,Java 的生态圈基本就是下面三种类型
- 以 Hibernate 的为代表的 ORM
- 以拼接模板字符串为代表的 Mybatis
- 以 Query DSL 为代表的 Jooq
Mybatis 过于古早,与 2024 年的 Java 和 Kotlin 格格不入。而且使用 xml 拼接字符串的安全性太低,没有人想把可以在编译时暴露的错误,留到运行时再暴露。
Hibernate 太过于复杂,你本来只想要一个 ORM 框架结果他给了你一个生态让你学习,最要命的是还包括复杂的缓存系统。要知道做软件就两件难事,一是命名,二是缓存。
Jooq 相当于一种折中,它提供了一些 ORM 的功能,同时又让你可以拼接类型安全的 SQL。非常不严谨的比喻的话,可以理解为类型安全的 Mybatis。
其实我本人十分喜欢 ORM,但是鉴于上面的各种原因,以至于我在做 MJGA 脚手架的时候,选择了 Jooq 这个折中的方案。
现在好了,我会认真评估 Jimmer 这个框架的可行性,考虑将其集成到 MJGA 脚手架的下一个模板中。
最后,希望国人的 IT 基建能够越来越多,工程质量能够越来越强。
附加信息
俄文原始链接:Jimmer ORM: An Alternative to JPA | Talk at Joker 2024
项目地址:GitHub - babyfish-ct/jimmer: A revolutionary ORM framework for both java and kotlin.