Как и где был создан интерфейс моего хранилища, созданный SimpleJdbcRespository? - PullRequest
1 голос
/ 16 апреля 2019

Я создал пользовательский интерфейс репозитория, который расширился на CrudRepository.Я просто использовал @EnableJdbcRepositories в StartApplication.

Когда я тестировал метод из своего пользовательского репозитория, например save(T t), я видел, что его экземпляр был SimpleJdbcRespository.class.

. Я заинтересовалсяя хочу знать, как и где SimpleJdbcRespository был создан и реализован мой пользовательский интерфейс репозитория.

Какую строку кода мне следует отлаживать?

1 Ответ

1 голос
/ 26 апреля 2019

Все репозитории Spring Data JDBC создаются JdbcRepositoryFactory, который использует SimpleJdbcRepository в качестве реализации для CrudRepository методов.

Для дополнительных методов в интерфейсе репозитория JdbcQueryLookupStrategy, который определяет, как получить правильный запрос для метода для выполнения в форме RepositoryQuery.

В настоящее время есть только реализация этого: JdbcRepositoryQuery

Если с выполнением такого метода что-то не работает должным образом. JdbcRepositoryQuery.execute(Object[] objects) - хорошее начало для отладки. Вы, вероятно, также хотите посмотреть, как создается executor, используемый там.

...