Spring Boot Репозиторий интерфейса - PullRequest
0 голосов
/ 14 января 2019

Есть ли возможность создания репозитория на основе интерфейса в Spring Boot Data? Я сделал этот код, в котором Medicamento является интерфейсом, который реализуют многие модели, но он не сработал:

public interface MedicamentoRepository extends JpaRepository<Medicamento, Long> {
    public <T extends Medicamento> List<Medicamento> findItens(Class<T> type);
}

Спасибо!

1 Ответ

0 голосов
/ 14 января 2019

В Spring Data JPA Spring отвечает за генерацию реализации и регистрацию ее как управляемого компонента Spring. Все, что вам нужно сделать, это правильно настроить его, добавив @EnableJpaReositories в свой класс конфигурации Spring и указав пакет, в котором находятся ваши интерфейсы репозитория.

Все основные методы, такие как findOne, findAll, delete, ... уже предоставлены интерфейсом CrudRepositoryJpaRepository), поэтому вам не нужно добавлять их в свой интерфейс.

Если вам нужно добавить определенные методы, Spring создаст реализацию на основе имени вашего метода и параметров (например, findByName, где name - поле вашей сущности) или с использованием аннотации @Query.

Чтобы лучше понять, как работает Spring Data JPA и все доступные функции, посмотрите их документацию: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/

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