gpt4 book ai didi

java - ORM 使用什么来访问数据库

转载 作者:行者123 更新时间:2023-12-01 17:09:08 25 4
gpt4 key购买 nike

问题是我不明白 orms 如何访问数据库。使用 JDBC,我们创建连接、编写语句并获取结果。但是奥姆?

我的意思是 - Mybatis 或 Hibernate 或其他 orms 使用什么来访问数据库并运行查询?JPA 的实现?数据库连接?他们的幕后黑手是什么?他们使用数据库驱动程序?

我很好奇

最佳答案

JDBC 是一种与数据库交互的低级机制,但它是任何 Java 数据库交互的基础。 JDBC 不提供任何事务管理集成,因为它只允许您实现本地事务(基于当前数据库连接提交/回滚)。它也很冗长,在大型企业应用程序上,有数千个查询,向基表添加新列非常痛苦,因为您必须更新无数的现有查询。

除了对象到关系映射的能力之外,ORM 工具还具有许多其他有用的功能:

  1. 复杂实体树上的乐观锁定
  2. 多态查询
  3. 本地和 XA 事务管理集成
  4. 架构生成
  5. 独立于数据库的基本查询和 DML

但是您不必只使用 ORM 工具。事实上,这是大型应用程序的反模式。

您通常将 Hibernate 与 native 查询混合使用,或 JOOQ从数据库特定功能(窗口函数、公用表表达式等)中受益

最好的方法是使用 data layer stack方法,您可以选择并混合 Hibernate/JDBC/JOOQ 的优点。

关于java - ORM 使用什么来访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24406662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com