Giriş
Şu satırı dahil ederiz.
Şeklen şöyle
Şu satırı dahil ederiz.
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
KalıtımŞeklen şöyle
Bu sınıftan kalıtan JpaRepository arayüzü var. JpaRepository ile findAll(Pageable), findAll(Sort) flush(), saveAndFlush(S) gibi kullanışlı metodlar geliyor
JpaRespository arayüzünü gerçekleştiren sınıf ise SimpleJpaRepository Sınıfı.
Bu sınıf altta EntityManager nesnesini kullanır. Dolayısıyla " JPA Entity Lifecycle" geçerlidir.
Ortak Bir Atadan Kalıtım
Ortak bir atadan kalıtım için @NoRepositoryBean Anotasyonu yazısına bakınız.
Bu sınıf otomatik olarak transaction başlatır. Açıklaması şöyle.
TanımlamaCRUD methods on repository instances are transactional by default. For reading operations the transaction configuration readOnly flag is set to true, all others are configured with a plain @Transactional so that default transaction configuration applies.
Örnek
Şöyle yaparız
@Repository
public interface MyDataRepository extends CrudRepository<Tour, Long> {
List<MyData> findAll();
// More functions
}
Metodlar şöyle
long count();void delete(T entity);void deleteAll();void deleteAll(Iterable<? extends T> entities);void deleteAllById(Iterable<? extends ID> ids);void deleteById(ID id);boolean existsById(ID id);Iterable<T> findAll();Iterable<T> findAllById(Iterable<ID> ids);Optional<T> findById(ID id);<S extends T> S save(S entity);<S extends T> Iterable<S> saveAll(Iterable<S> entities);
Örnek ver
saveAll metodu
İmzası şöyle.
saveAll metodu
İmzası şöyle.
@Transactional
public <S extends T> List<S> saveAll(Iterable<S> entities)
Diğer
Repository içine yazdığımız metodlara @Query Anotasyonu ile sql tanımlanabilir.
Hiç yorum yok:
Yorum Gönder