Несколько Spring Data CrudRepository в одном интерфейсе - PullRequest
0 голосов
/ 20 июня 2019

Вместо создания одной специализации CrudRepository, можно использовать несколько Spring Data JPA CrudRepository в одном интерфейсе

AND

Все еще иметь ссылку @NamedQueries изинтерфейс?

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

1 Ответ

1 голос
/ 21 июня 2019

Репозиторий Spring Data JPA работает не так:

4.3.Определение интерфейсов репозитория

Сначала определите интерфейс репозитория, специфичный для класса домена.

Интерфейс должен расширять репозиторий и указываться для класса домена и типа идентификатора.Если вы хотите предоставить методы CRUD для этого типа домена, расширьте CrudRepository вместо Repository

Источник: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.definition

Если вам не нравится этот подход, вы можете пойти дальше иреализовать собственный универсальный репозиторий.

Как это можно сделать, вы можете увидеть в реализации по умолчанию SimpleJpaRepository:

https://github.com/spring-projects/spring-data-jpa/blob/master/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java

...