@SeApps
Я художник, я так вижу

Spring, один репозиторий для переопределения методов JpaRepository?

Бонжур

Суть: мне нужно иметь некий базовый (для моей системы) репозиторий, от которого будут наследоваться репо сущностей, а также для управления сущностями, у которых нет специфичных методов в репозитории (что бы не создавать лишние классы).

Еще лучше, что бы можно было подставить свою имплементацию под некоторые методы, например delete - чтоб не удалял, а изменял запись (поле status на deleted), или все select запросы, что бы добавлялась строка AND status = active, и т.д.

Просьба: накидайте статей - они же наверняка есть, но я навскидку не нашел.
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
@dmitryx64
Почему бы так и не сделать?
interface MyRepo<M extends Model> extends JpaRepository<M, Long> {
    default <P extends M> P delete(P pojo) {
        pojo.setDeleted(true);
        update(pojo);
    }
}

@Repository
interface PostRepository extends MyRepo<Post> {
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы