<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
public interface CrudRepository<T, ID extends Serializable> extends Repository<T, ID> { <S extends T> S save(S entity); <S extends T> Iterable<S> saveAll(Iterable<S> entities); Optional<T> findById(ID id); boolean existsById(ID id); Iterable<T> findAll(); Iterable<T> findAllById(Iterable<ID> ids); long count(); void deleteById(ID id); void delete(T entity); void deleteAll(Iterable<? extends T> entities); void deleteAll(); }
Spring Boot Data 1.x | Spring Boot Data 2.x | |
save(S) | save | - zapisuje pojedynczą encję w bazie |
save(Iterable) | saveAll | - zapisuje w bazie cały zbiór encji |
T findOne | Optional<T> findById | - wyszukuje encje po id |
exists | existsById | - sprawdza po id czy encja istnieje |
findAll | findAll | - pobiera wszystkie encje zwracając interfejs Iterable |
findAll | findAllById | - pobiera wszystkie encje po podaniu zbioru idików i zwraca interfejs Iterable |
count | count | - zlicza wszystkie encje |
delete(ID) | deleteById | - usuwa encje po podanym id |
delete(T) | delete | - usuwa encje po podanym obiekcie |
delete(Iterable) | deleteAll(Iterable) | - usuwa encje po podanym zbiorze obiektów |
deleteAll | deleteAll | - usuwa wszystkie encje |
public interface PagingAndSortingRepository <T, ID extends Serializable> extends CrudRepository<T, ID> { Iterable<T> findAll(Sort sort); Page<T> findAll(Pageable pageable); }
findAll(Sort sort) | - pobiera wszystkie encje (z uwzględnieniem sortowania) i zwraca interfejs Iterable |
findAll(Pageable pageable) | - pobiera wszystkie encje (z uwzględnieniem stronicowania) i zwraca interfejs strony: Page |
public interface JpaRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> { List<T> findAll(); List<T> findAll(Sort sort); List<T> findAllById(Iterable<ID> ids); <S extends T> List<S> saveAll(Iterable<S> entities); void flush(); <S extends T> S saveAndFlush(S entity); void deleteInBatch(Iterable<T> entities); void deleteAllInBatch(); T getOne(ID id); @Override <S extends T> List<S> findAll(Example<S> example); @Override <S extends T> List<S> findAll(Example<S> example, Sort sort); }
Spring Boot Data 1.x | Spring Boot Data 2.x | |
findAll | findAll | - pobiera wszystkie encje (ew. sortowane) i zwraca interfejs List |
findAll(Iterable) | findAllById | - pobiera encje po zbiorze idików i zwraca interfejs List |
save | saveAll | - zapisuje encje w bazie, podane w postaci zbioru bazującego na interfejsie Iterable |
flush | flush | - wymusza odzwierciedlenie wykonanych operacji (na encjach) na bazie |
saveAndFlush | saveAndFlush | - zapisuje encje i wymusza odzwierciedlenie wykonanych operacji (na encjach) na bazie |
deleteInBatch | deleteInBatch | - usuwa całą partię encji, podaną w postaci zbioru bazującego na interfejsie Iterable |
deleteAllInBatch | deleteAllInBatch | - usuwa wszystkie encje w jednej partii |
getOne | getOne | - pobiera encję po id |
findAll(Example...) | findAll(Example...) | - pobiera encje po podanej klasie przykładu (możliwe w wersji z sortowaniem) |
@Service public class ItemServiceImpl implements ItemService { private final Logger LOG = LoggerFactory.getLogger(ItemServiceImpl.class); private ItemRepository itemRepository; ... @Autowired public ItemServiceImpl(ItemRepository itemRepository, ...) { this.itemRepository = itemRepository; } @Override public ItemResponseDTO getAppaItem(Long id) { Optional<Item> appaItemOpt = itemRepository.findById(id); if (!appaItemOpt.isPresent()) { throw new AppaFormProcessException("Appa item does not exist"); } Item appaItem = appaItemOpt.get(); ... return appaItemResponseDTO; } }