Hibernate と Spring Data JPA の主な違いは何ですか?
Hibernate または Spring Data JPA を使用しないほうがよいのはどのような場合ですか?
また、Spring JDBC テンプレートが Hibernate や Spring Data JPA よりもパフォーマンスが優れているのはどのような場合でしょうか?
ベストアンサー1
Hibernate は JPA 実装ですが、Spring Data JPA は JPA データ アクセスの抽象化です。Spring Data JPA は JPA プロバイダーなしでは動作しません。
Spring Dataは、DDDRepository
パターンまたは従来のGenericDao
カスタム実装。また、メソッド名の規則に従って JPA クエリを生成することもできます。
Spring Data では、Hibernate、EclipseLink、またはその他の JPA プロバイダーを使用できます。Spring または Java EE を使用することの非常に興味深い利点は、アノテーションを使用してトランザクション境界を宣言的に制御できることです@Transactional
。
Spring JDBC ははるかに軽量で、ネイティブ クエリを目的としています。JDBC のみを使用する場合は、JDBC の冗長性に対処するために Spring JDBC を使用する方が適切です。
したがって、Hibernate と Spring Data は競合関係ではなく、補完関係にあります。