【发布时间】:2017-04-23 16:48:31
【问题描述】:
我正在为variables 表编写存储库,并希望使用它访问特定的行。为此,我正在尝试将主存储库自动装配到自定义实现中,如下所示:
public interface VariableRepo extends CrudRepository<Variable, Long>, VariableRepoCustom {
Variable getByName(String name);
}
public interface VariableRepoCustom {
...
Variable getPopulationSingle();
...
}
public class VariableRepoCustomImpl implements VariableRepoCustom {
private final VariableRepo variableRepo;
@Autowired
public VariableRepoCustomImpl(VariableRepo variableRepo) {
this.variableRepo = variableRepo;
}
@Override
public Variable getPopulationSingle() {
return getByName("Population single");
}
...
}
不幸的是,Spring 喜欢为此发疯,抛出异常:
创建名为“variableRepo”的 bean 时出错:调用 init 方法失败;嵌套异常是 org.springframework.data.mapping.PropertyReferenceException:否 找到类型变量的属性 getPopulationSingle!
即它试图在实体类 (Variable) 中查找存储库方法,当然不应该包含在其中。
如何解决?
【问题讨论】:
-
您需要将自定义 repo 命名为 impl
VariableRepoImpl
标签: java spring spring-data-jpa