web-dev-qa-db-ja.com

HibernateでのJTA、JPA、およびプレーンJDBCの違い

休止状態に関して、JTA、JPA、およびプレーンJDBCの違いは何ですか?

52
Aashutosh

違いが存在するためには、共通点が存在する必要があり、データベース関連であることを除けば(JTAはそれだけではありませんが)、共通点はありません。

  • JPAはJavaオブジェクトリレーショナルマッピング-アノテーションのセットとインターフェイス-EntityManagerを指定して、マッピングされたオブジェクトで永続化操作を実行します。HibernateはJPA標準を実装します

  • プレーンJDBCは、データベースにアクセスするためのテクノロジーです。 Hibernateが実際にデータベース操作を実行するために使用するのは、「内部」です。 JDBCを使用して、データベースにクエリを送信します。

  • [〜#〜] jta [〜#〜] はトランザクションAPIであり、Hibernateではオプションです。トランザクションの動作を(論理的に)処理します。

77
Bozho

JDBCは、データベース接続のJava標準です。

JPAは、Java開発者をJDBCおよびデータベース操作の内部動作から隔離します。

Hibernate、EclipseLink、OpenJPA、Data Nucleusは有名なJPA実装です。

JTAはトランザクションの標準であり、複数のデータベース間で複数のトランザクションを管理できます。

JPAはデータベース接続とSQL関連の操作にJDBCを使用し、オプションでJTAを使用して分散トランザクション管理の詳細を委任します。

26
ozeray