1. ホーム

[解決済み】HibernateとSpring Data JPAの違いは何ですか?

2022-04-02 21:56:27

質問

HibernateとSpring Data JPAの主な相違点は何ですか?HibernateやSpring Data JPAを使用しない方が良いのはどのような場合ですか?また、Spring JDBCテンプレートがHibernate / Spring Data JPAよりも優れたパフォーマンスを発揮するのはどのような場合でしょうか?

どのように解決するのですか?

HibernateはJPAの実装であり、Spring Data JPAはJPAデータアクセスの抽象化である。Spring Data JPAはJPAプロバイダがないと動作しません。

Spring Dataは、以下のような解決策を提供しています。 DDD Repository パターン またはレガシーな GenericDao をカスタム実装することができます。また、メソッド名の規約により、JPAクエリの生成を代行することもできます。

Spring Dataでは、Hibernate、EclipseLink、その他のJPAプロバイダを使用することができます。SpringやJava EEを使用することの非常に興味深い利点は、トランザクションの境界を @Transactional アノテーションを使用します。

Spring JDBCはもっと軽量で、ネイティブクエリを想定しています。JDBCだけを使うつもりなら、Spring JDBCを使ってJDBCの冗長性に対処した方が良いでしょう。

したがって、HibernateとSpring Dataは競合というより、補完関係にあると言えます。