基于Spring Data Document 文档,我提供了一个存储库方法的自定义实现。自定义方法的名称是指域对象中不存在的属性:
@Document
public class User {
String username;
}
public interface UserRepositoryCustom {
public User findByNonExistentProperty(String arg);
}
public class UserRepositoryCustomImpl implements UserRepositoryCustom {
@Override
public User findByNonExistentProperty(String arg) {
return /*perform query*/;
}
}
public interface UserRepository
extends CrudRepository<?, ?>, UserRepositoryCustom {
public User findByUsername(String username);
}
然而,也许是因为我选择了方法名 ( findByNonExistentPropertyName
),Spring Data 尝试解析方法名,并从中创建查询。当它找不到nonExistentProperty
in 时User
,将引发异常。
可能的解决方案:
- 我在如何提供自定义方法的实现方面犯了错误吗?
- 有没有办法指示 Spring 不要尝试基于此方法的名称生成查询?
- 我是否只需要避免使用 Spring Data 识别的任何前缀?
- 以上都不是。
谢谢!