Spring Mongo - Доступ к методам интерфейса репозитория из моей пользовательской реализации репозитория - PullRequest
0 голосов
/ 22 марта 2012

Я определяю интерфейс репозитория Spring Mongo следующим образом:

public interface FooRepository
  extends MongoRepository<Foo, String>, FooRepositoryCustom {
  Foo findByMyField(String myField);
}

... и пользовательский интерфейс, подобный этому:

public interface FooRepositoryCustom {
  Foo findByMyObject(MyObject obj);
}

В моей собственной реализации репозитория я хотел бы определить findByMyObject, вызвав метод findByMyField. Что-то вроде:

public class FooRepositoryImpl implements FooRepositoryCustom {
  public Foo findByMyObject(MyObject obj) {
    return new Foo(<repository>.findByMyField(obj.getId()));
  }
}

Любая подсказка, как я могу получить ссылку на этот интерфейс хранилища?

1 Ответ

1 голос
/ 22 марта 2012

Вы можете попробовать следующее ...

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;

Не уверен, что дженерики отключат автопровод по типу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...