2016-07-22 1 views
4

私はspringデータを知っています。jpaは2つの方法でSQLを実行できます.1つは@Queryに含まれるsqlを実行し、もう1つはメソッド名を解析してsqlを生成します。私はgithubからspring data jpaのソースコードをクローンし、メソッド名に応じてspringデータがSQLをどのように生成するかを見たいと思っています。しかし、メソッド名の解析に関連するクラスは見つかりません。春のデータJPAは、メソッド名を解析に関する作品おかげメソッド名に応じてスプリングデータがSQLを生成する方法は?

答えて

2

そのマルチステッププロセス:?

  1. 春データJPAは、リポジトリインタフェースのプロキシクラスを生成します。
  2. プロキシは、PartTreeJpaQueryクラスを使用して、リポジトリメソッドごとにPartTreeインスタンスを生成します。 PartTreeクラスはSpring Data Commonsモジュールの一部です。これは、Spring固有のSpringデータモジュール(Spring Data JPAモジュールなど)の依存関係です。
  3. PartTreeは、JpaQueryCreatorに渡され、JPA CriteriaQueryインスタンスを生成します。
  4. CriteriaQueryインスタンスは、実行されるSQLを生成する基になるJPAプロバイダ(Hibernate、OpenJPA、EclipseLinkなど)に渡されます。
+0

ご利用いただける書類があれば教えてください。 –

関連する問題