知识卡片
方法名派生查询的原理
内容
Spring Data JPA允许开发者只声明形如findByFirstNameAndLastName这样的接口方法,不写任何实现,框架就能在运行时生成对应的SQL——原理是框架在启动阶段解析方法名,剥离findBy/getBy/readBy等前缀后,把剩余部分按驼峰拆解成”字段名+条件关键字”(如GreaterThan、And、OrderBy),再据此拼装出查询语句和代理实现类,整个过程不需要手写一行SQL。这是[[自动配置的推断机制]]同一套思路在数据访问层的延伸——用一套约定把”命名”本身变成可执行的意图声明。发散:这种”约定即实现”的便利也有代价——方法名一旦承载的查询逻辑变得复杂(多字段组合、动态条件),命名会迅速失控,这也是为何还需要[[JpaRepository与JpaSpecificationExecutor的选型]]里更灵活的查询方式来兜底。
参考来源
《Spring Boot应用开发实战》第4章《数据库与持久化技术》