我正在定义一个Spring Mongo存储库接口,如下所示:
public interface FooRepository
extends MongoRepository<Foo, String>, FooRepositoryCustom {
Foo findByMyField(String myField);
}
...以及这样的自定义界面:
public interface FooRepositoryCustom {
Foo findByMyObject(MyObject obj);
}
在我的自定义存储库实现中,我想通过调用findByMyField方法来定义findByMyObject。类似的东西:
public class FooRepositoryImpl implements FooRepositoryCustom {
public Foo findByMyObject(MyObject obj) {
return new Foo(<repository>.findByMyField(obj.getId()));
}
}
有关如何获取对该存储库接口的引用的任何线索?
答案 0 :(得分:1)
您可以尝试以下内容......
public class FooRepositoryImpl implements FooRepositoryCustom {
@Autowired
private FooRepository fooRepository;
public Foo findByMyObject(MyObject obj) {
return new Foo(fooRepository.findByMyField(obj.getId()));
}
}
您也可以尝试
@Autowired
private MongoRepository<Foo, String> fooRepository;
不确定泛型是否会按类型跳转自动装配。