From fd2895eb8b76cc4f95601142f0650c0513404390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Slov=C3=ADk?= <xslovik@fi.muni.cz> Date: Tue, 4 Apr 2023 19:40:47 +0200 Subject: [PATCH] Implementing BaseRepository --- .../repository/common/BaseRepository.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 core/src/main/java/cz/muni/fi/pa165/core/data/repository/common/BaseRepository.java diff --git a/core/src/main/java/cz/muni/fi/pa165/core/data/repository/common/BaseRepository.java b/core/src/main/java/cz/muni/fi/pa165/core/data/repository/common/BaseRepository.java new file mode 100644 index 0000000..c74d7d4 --- /dev/null +++ b/core/src/main/java/cz/muni/fi/pa165/core/data/repository/common/BaseRepository.java @@ -0,0 +1,42 @@ +package cz.muni.fi.pa165.core.data.repository.common; + +import cz.muni.fi.pa165.core.data.domain.common.DomainEntity; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +import java.util.Optional; + +/** + * BaseRepository for common CRUD operations + * + * @param <E> Entity + * @param <K> Key + * @author martinslovik + */ +@Repository +public interface BaseRepository<E extends DomainEntity, K> extends CrudRepository<E, K> { + + <S extends E> S save(S entity); + + <S extends E> Iterable<S> saveAll(Iterable<S> entities); + + Optional<E> findById(K id); + + boolean existsById(K id); + + Iterable<E> findAll(); + + Iterable<E> findAllById(Iterable<K> ids); + + long count(); + + void deleteById(K id); + + void delete(E entity); + + void deleteAllById(Iterable<? extends K> ids); + + void deleteAll(Iterable<? extends E> entities); + + void deleteAll(); +} -- GitLab