1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.catalog.jpa.dao;
18
19 import org.springframework.data.jpa.domain.Specification;
20 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
21 import org.springframework.data.jpa.repository.Modifying;
22 import org.springframework.data.repository.NoRepositoryBean;
23 import org.springframework.data.repository.Repository;
24
25 import java.io.Serializable;
26 import java.util.List;
27 import java.util.Optional;
28
29 @NoRepositoryBean
30 public interface BaseRepository <T, ID extends Serializable> extends Repository<T, ID>, JpaSpecificationExecutor<T> {
31 Optional<T> findOne(ID id);
32 List<T> findAll();
33 List<T> findAll(Specification<T> spec);
34 @Modifying
35 T save(T persisted);
36 @Modifying
37 void delete(T deleted);
38 @Modifying
39 void deleteById(ID id);
40 }