org.springframework.data.repository.query.parser.PartTree
在这类里有
private static final String KEYWORD_TEMPLATE = "(%s)(?=(\\p{Lu}|\\P{InBASIC_LATIN}))";
private static final String QUERY_PATTERN = "find|read|get|query|search|stream";
private static final String COUNT_PATTERN = "count";
private static final String EXISTS_PATTERN = "exists";
private static final String DELETE_PATTERN = "delete|remove";
private static final Pattern PREFIX_TEMPLATE = Pattern.compile( //
"^(" + QUERY_PATTERN + "|" + COUNT_PATTERN + "|" + EXISTS_PATTERN + "|" + DELETE_PATTERN + ")((\\p{Lu}.*?))??By");
当调用
package org.springframework.data.repository.query.parser.PartTree
public PartTree(String source, Class<?> domainClass) 的时候
还有这么一段代码
source.substring(matcher.group().length()
自定义repository 的 代理类 是
org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository 的代理类
而 SimpleElasticsearchRepository 的动态代理 类的 handler 是 org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor