spring数据如何根据方法名生成sql?

时间:2016-07-22 05:09:32

标签: spring-data spring-data-jpa

我知道spring数据jpa可以通过两种方式执行sql。一个是@Query包含的执行sql,另一个是解析方法名称并生成sql。我从github克隆了spring数据jpa的源代码,想找出spring数据如何根据方法名生成sql。但是我找不到与解析方法名相关的类。所以,你能告诉我一些关于如何spring data jpa是关于解析方法名称的吗?谢谢

1 个答案:

答案 0 :(得分:6)

这是一个多步骤的过程:

  1. Spring Data JPA为存储库接口生成代理类。
  2. 代理使用PartTree类为每个存储库方法生成PartTreeJpaQuery实例。 Sub Hide_Fields() For Each Pvt In ActiveSheet.PivotTables For Each PvtFld In Pvt.PivotFields PvtFld.Orientation = xlHidden Next PvtFld Next Pvt End Sub 类是Spring Data Commons模块的一部分,它是特定于商店的Spring Data模块的依赖项(如Spring Data JPA模块)。
  3. 然后将function Calculation_IsArray( $ArrayAny ){ echo is_array($ArrayAny) ? '<div>THIS VAR IS AN ARRAY</div>' : '<div>THIS VAR IS **NOT** AN ARRAY</div>'; return is_array($ArrayAny); } 传递给JpaQueryCreator以生成JPA PartTree实例。
  4. PartTree实例传递给基础JPA提供程序(Hibernate,OpenJPA,EclipseLink等),然后生成要执行的SQL。