当前位置: 首页 > 知识库问答 >
问题:

java - 除了 Hibernate 和 Mybatis 还有其他的什么可以选?

欧阳晗日
2024-09-05

Mybatis 和 Hibernate 各有各的优点吧,感觉用久了有点腻了。
查了一下,还有一种基于 JOOQ 的查询,像写 C# 的 LINQ 一样用 Java 来写 SQL,站内有一个介绍看了感觉还行
https://segmentfault.com/a/1190000045244062

所以 JOOQ、Hibernate、Mybatis Java 应该就是这三种 Dao Layer 的框架了吧,再也玩儿不出其他什么花样了吧应该。

共有3个答案

小牛23013
2024-09-05

恕我直言,Java 中最好的 ORM 是 ebean。

钱修雅
2024-09-05

jap的QueryDSL工具
mybatis的mybatis-plus-join插件
GraphQL API 的查询语言

易祖鹤
2024-09-05

基于 JOOQ 的查询,写法实例截图。

image.png

看着狠爽,写SQL一样写代码,等于给代码加上了编译检查,不怕写错字段名等低级错误, 使用文档 https://www.mjga.cc/doc/db-first


 类似资料:
  • 问题内容: 我正在研究部分应用程序的使用情况,但是我只能找到有关使用专有sun实现或Oracle特定实现的信息。 sun的实现不受支持,并且可能会发生变化。如果将来我想将其部署到非Sun虚拟机上,使用此方法也可能会导致问题,最后,它在构建日志中留下了无法抑制的警告,可以掩盖其他警告。 我是否可以与我的应用程序一起部署一个开源替代实现,该实现在多个数据库之间都能很好地工作?至少支持MySQL的东西。

  • 问题内容: 我记得在Java书籍中读过有关“ instanceof”以外的任何运算符的信息,用于比较两个对象之间的类型层次结构。 instanceof是最常用和最常用的。我无法清楚地记得是否确实存在另一种方式。 问题答案: 就在这里。不是运算符,而是Class类上的方法。 它是: isIntance(Object o) 从文档引用: …此方法是Java语言instanceof运算符的动态等效项

  • 我用的是Karaf 3.0.0,Hibernate 4.2.7.Final,容器管理的jpa。 持久性捆绑包在启动时进入GracePeriod状态,然后进入失败状态。下面是启动软件包时Karaf日志中的错误。 2014-04-07 16:46:01,716 | INFO |本地用户karaf | BlueprintContainerImpl | 4-org . Apache . Aries . b

  • 问题内容: 我在Windows 7上使用VirtualBox 5.0.6安装了Docker工具箱1.8.3。 在 Docker Quickstart Terminal 启动期间创建的 默认 虚拟机为定义了一个共享文件夹。是否可以将其他共享文件夹永久添加到该虚拟机,例如在主机上安装驱动器? __ 问题答案: 该boot2docker自述中提到 另外,Boot2Docker包括内置的VirtualBo

  • 问题内容: 在我的项目中,我需要在运行时在数据库之间切换。我尝试使用Hibernate,但是卡在一个地方,我需要在数据库中映射对象和表。问题是,我有几个带前缀的表:documents2001,documents2002 …据我了解,我在运行时无法将类与表进行映射。我尝试使用iBatis,但问题出在运行时更改数据库。在iBatis中,这很难做到。 也许一些建议,我应该使用什么? 我的要求: 能够在运

  • 这是一个面试问题。 面试结束了,但这个问题仍然在我脑海里。 我不能问面试官,因为我没有得到这份工作。 脚本: 将类C1的对象放入具有键“a”的缓存中 后代码: 此代码引发ClassCastException。 原因是什么? 我说是因为别人用同样的键放了另一个对象,所以覆盖了它。我被告知不,想想其他可能性。 我说定义类C1的jar可能在此节点上不可用(不确定这是否会导致类强制转换或类NotFound