初心者ではありませんが、これを本当に理解していることを確認するために、春のフレームワークを学習しようとしています(もう一度!)私はコアSpring(DI)について公正なアイデアを持っています。今、私はデータ層に焦点を当てています。
「Spring and Hibernate」という用語に出会いました。私が解釈できるように、それはORMツール/ JPAプロバイダーとしてHibernateでSpring Frameworkを使用することを意味します。
今、「Spring Data JPA」に出会いました。 Spring Data JPAについてのSO、それはJPAの上の抽象化レイヤーであることを明らかにしました(そして、Spring Data JPAはHibernateまたは他のJPAプロバイダーを使用しています)。
今、これらの用語は同じですか?つまり、「Spring + hibernate」は「Spring Data JPA」と同じです。そうでない場合、違い/類似点は何ですか?
多くの用語/文(上記のように)が一見類似しているように見えますが、異なる場合があります。
あなたが言っているように、Spring-data-jpaは、単なる古典的なSpring-JPA統合以上のものを提供します。 JPA/Hibernate統合により、主に
Spring-data-jpaを使用すると、これらすべてに加えて(その他の)
これはほんの小さな紹介です。詳細については、ドキュメントを参照してください。
春と冬眠について話すとき
hibernatesessionfactory
を取得し、トランザクションを開いてコミットする必要があります。各操作の多くの前作業と後作業。hibernatetemplate
を内部で使用するhibernatesessionfactory
であるラッパーを提供します。そのため、これらの操作を実行する際に、事前コードと事後コードをあまり気にする必要はありません。では、春+データJPAについて話しましょう
crud repository
を拡張するだけで、springが実行時に実装を挿入するとします。Repository
インターフェイスを拡張する新しいリポジトリインターフェイスを作成することでそれを行うことができます。そして、これをアプリケーション全体で使用できます。sql or jpql.
を使用できるクエリメソッドも提供します。このリンク 役立つと思います:
JPAはJava Persistence APIです。これはオブジェクトリレーショナルマッピング用のJavaの標準APIです。
JPAは仕様にすぎません。使用するには、JPAの実装が必要です。 HibernateはJPAの最もよく知られ、最も使用されている実装の1つですが、EclipseLink JPAなどの他の実装もあります。
Spring Frameworkは、エンタープライズグレードのソフトウェアを簡単に作成できるようにするための大きなフレームワークです。 JPAを含む多くのJavaテクノロジーのサポートが含まれています。
Spring Frameworkはプロジェクトのコレクションで構成されており、これらのプロジェクトの1つはSpring Dataです。
Spring Dataの目標は、従来のリレーショナルデータベースからNoSQLデータベースまで、さまざまな種類のデータベースを簡単に操作できるようにすることです。 Spring Dataは、Spring Data JPAサブプロジェクトを介してJPAをサポートしています。
JPAを使用するプログラムを作成するには、少なくともHibernateなどのJPA実装が必要です。
アプリケーションにSpring Frameworkを使用している場合は、HibernateとともにSpring Data JPAを使用することをお勧めします。