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

men*_*.ye 6 spring-data spring-data-jpa

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

man*_*ish 6

它是一个多步骤的过程:

  1. Spring Data JPA为存储库接口生成代理类.
  2. 代理PartTree使用PartTreeJpaQuery该类为每个存储库方法生成一个实例.的PartTree类是Spring数据共享模块,其是用于所述特定于商店的弹簧数据模块的依赖关系(如弹簧数据JPA模块)的一部分.
  3. PartTree随后被传递到JpaQueryCreator生成一个JPA CriteriaQuery实例.
  4. CriteriaQuery实例被传递给底层JPA提供程序(Hibernate,OpenJPA,EclipseLink等),然后生成要执行的SQL.

  • 如果有任何可用的文档,请告诉我。 (2认同)