2016-07-22 5 views
4

Ich weiß, Frühjahr Daten jpa kann sql auf zwei Arten ausgeführt werden. Eine ist SQL ausführen, die von @Query enthalten ist, die andere ist Parse Method Name und sql generieren. Ich klon den Quellcode von Frühjahr Daten jpa von Github und möchte herausfinden, wie Frühjahr Daten sql nach Methodenname.Aber ich kann nicht finden, die Klasse, die mit Parse Method Name verwandt ist.So könnten Sie mir etwas darüber sagen, wie Federdaten JPA arbeitet über Methodennamen Parsen DankWie Federdaten sql nach Methodenname generieren?

Antwort

2

Es ist ein mehrstufiger Prozess:

  1. Spring Data JPA erzeugt eine Proxy-Klasse für die Repository-Schnittstelle.
  2. Der Proxy generiert eine PartTree Instanz für jede Repository-Methode, die die Klasse PartTreeJpaQuery verwendet. Die Klasse PartTree ist Teil des Spring Data Commons-Moduls, das eine Abhängigkeit für die geschäftsspezifischen Spring Data-Module (wie das Spring Data JPA-Modul) darstellt.
  3. Die PartTree wird dann an eine JpaQueryCreator übergeben, um eine JPA CriteriaQuery Instanz zu generieren.
  4. Die Instanz CriteriaQuery wird an den zugrunde liegenden JPA-Provider (Hibernate, OpenJPA, EclipseLink usw.) übergeben, der daraufhin SQL generiert, das ausgeführt werden soll.
+0

Bitte lassen Sie mich wissen, wenn Dokumentation dafür vorhanden ist. –