JOOQ 与休眠 [关闭]

Posted

技术标签:

【中文标题】JOOQ 与休眠 [关闭]【英文标题】:JOOQ vs Hibernate [closed] 【发布时间】:2015-06-08 07:26:26 【问题描述】:

当我在聊天中与 ***ers 聊天并阅读有关使用 Java 进行数据库的其他教程时,他们会指导我使用 JOOQ 而不是 HIBERNATE

我完全了解带有 Hibernate 的 ORM,我更喜欢使用 Hibernate,现在通过阅读小项目的教程和实施,我几乎了解了 JOOQ。

但是对于我的动态 Web 应用程序(Hibernate 或 JOOQ 可以更大、中或更小)该选择什么以及什么是完美的,我感到困惑?

顺便说一句,谷歌搜索了很多,但越来越困惑......!!! 就像:this,this 和 this。

哪一种最适合开发人员的不同条件和情况?

【问题讨论】:

亲爱的@NeilStockton,这完全是主观的,我知道 *** 的每一个术语。 我只需要专家的建议请帮助我...... 一个有用的问题。 +1。 【参考方案1】:

虽然 jOOQ 和 Hibernate 争夺相同的目标受众,但它们根本解决不了同一个问题。 You've already linked this article in your question。它的本质很简单:

您要解决对象图持久性问题吗?使用 ORM(例如 Hibernate) 您是否要将 SQL 嵌入到 Java 中?使用 SQL(例如 jOOQ)

当然,由于这两个 API 都涵盖了访问关系数据库,因此它们在功能上存在一定程度的重叠。例如。 Hibernate 也支持简单查询,jOOQ 也支持简单映射。

虽然我们应该避免深入探讨对象图持久性或 SQL 是否是与数据库交互的更好方法的主观讨论,但我认为上述内容是对哪种 API 更适合的一个相当客观的回答,一旦你完成了主观决定。

AND:您可以同时使用两者,例如ORM/Hibernate 用于 CRUD,SQL/jOOQ 用于报告。

(免责声明:我在 jOOQ 背后的公司工作,所以这个答案是有偏见的)

【讨论】:

为什么我必须使用 JOOQ 进行报告,请您能更详细地说明一下吗?这对我很有帮助。 报告利用了许多高级 SQL 功能。当然,您可以仍然使用 Hibernate/HQL/JPQL,但是与使用普通 SQL 编写的报告相比,您的报告会慢很多,更难维护...... 是的,@Lukas Eder 先生,我刚刚创建了这个问题,以便更清楚地了解与 JOOQ 和 Hibernate 的许多混淆,现在我对您的回答非常满意 希望它会有所帮助也给其他人 定价也可能在决策过程中发挥作用。如果您使用的是非开源数据库(Oracle、MSFT 等),您必须为每位开发人员支付 99 美元的年费才能使用 JOOQ。而 Hibernate 没有这样的要求。 “大多数人在做出决定时会依赖他们认为确定的知识(成本分析)。” - 这里唯一确定的是这些人应该阅读 Daniel卡尼曼的*"Thinking Fast And Slow"。卡尼曼令人印象深刻地展示了我们对“损失”(“成本”)的恐惧如何以非常不幸的方式影响我们的决策。此外,到目前为止,很明显我们不再在这里讨论具体成本,而是试图提出观点,这对于这个 Stack Overflow 问题来说有点离题。

以上是关于JOOQ 与休眠 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

JOOQ - 相当于用于填充历史字段的休眠拦截器?

Hibernate 和 jOOQ 共享事务

休眠与 iBATIS [关闭]

win2012系统如何关闭休眠

linux系统关闭休眠命令

睡眠 休眠 关闭硬盘 分别是啥意思?