2016-07-22 42 views
4

我知道彈簧數據JPA可以由兩個ways.One是執行其通過@Query包含SQL執行sql,另一種是解析方法名和生成SQL。我克隆春天數據JPA的源代碼從GitHub,並希望找到根據上述方法name.But我找不到它解析方法name.So相關班春數據如何生成SQL,你能告訴我一些關於如何春天的數據JPA工作有關分析方法的名稱感謝spring數據如何根據方法名生成sql?

回答

2

它是一個多步驟的過程:

  1. 春天JPA的數據生成庫接口的代理類。
  2. 代理使用PartTreeJpaQuery類每個庫方法生成一個PartTree實例。 PartTree類是Spring Data Commons模塊的一部分,該模塊是特定於商店的Spring Data模塊(如Spring Data JPA模塊)的依賴項。
  3. PartTree然後傳遞給JpaQueryCreator以生成JPA CriteriaQuery實例。
  4. CriteriaQuery實例傳遞到底層JPA提供商(休眠,OpenJPA中,的EclipseLink等),然後生成要執行的SQL。
+0

請讓我知道是否有任何文件可用於此。 –