休眠状态下 JTA、JPA 和普通 JDBC 之间的区别

2022-08-31 14:31:22

JTA,JPA和普通JDBC在Hibernate方面有什么区别?


答案 1

为了存在差异,应该有一些共同点,除了与数据库相关(尽管JTA不仅如此),它们没有更多的共同点:

  • JPA 是 Java 对象关系映射的标准 - 它指定了一组注释和一个接口 - 以对映射的对象执行持久性操作。Hibernate 实现了 JPA 标准EntityManager

  • 普通 JDBC 是一种用于访问数据库的技术。这是Hibernate实际用来执行数据库操作的东西,“在引擎盖下”。它使用 JDBC 将查询发送到数据库。

  • JTA 是一个事务 API,它在 Hibernate 中是可选的。它(逻辑上)处理事务行为。


答案 2
  • JDBC 是用于数据库连接的 Java 标准。
  • JPA 将 Java 开发人员与 JDBC 和数据库操作的内部工作原理隔离开来。Hibernate,EclipseLink,OpenJPA和Data Nucleus是着名的JPA实现。
  • JTA 是事务的标准,允许在多个数据库之间管理多个事务。

JPA 利用 JDBC 进行数据库连接和 SQL 相关操作,并且 (可选) 利用 JTA 将分布式事务管理详细信息委派给它。


推荐