Spring Boot

Spring Data Repositories

Spring Data repositories, CrudRepository vs JpaRepository, özel sorgular, @EntityGraph, projeksiyonlar

25 mülakat soruları·
Mid-Level
1

JpaRepository ve CrudRepository arasındaki temel fark nedir?

Cevap

JpaRepository hem CrudRepository hem de PagingAndSortingRepository'yi genişletir ve flush(), saveAndFlush() ve deleteInBatch() gibi JPA'ya özgü metotlar ekler. CrudRepository yalnızca temel CRUD işlemlerini (save, findById, delete) sağlar. JpaRepository kullanmak, birden fazla arabirimi birleştirmeye gerek kalmadan tüm gelişmiş JPA özelliklerine erişim sağlar.

2

Repository hiyerarşisinde PagingAndSortingRepository'nin rolü nedir?

Cevap

PagingAndSortingRepository, sayfalama ve sıralama için findAll(Pageable) ve findAll(Sort) metotlarını ekleyerek CrudRepository'yi genişletir. Bu, Page/Slice ile verilerin sayfalar halinde alınmasını ve sonuçların sıralanmasını sağlar. JpaRepository bu arabirimi genişletir ve böylece sayfalama, sıralama ve JPA'ya özgü özellikleri tek bir arabirimde sunar.

3

Spring Data repository arabirimlerinin doğru hiyerarşisi nedir?

Cevap

Doğru hiyerarşi şudur: Repository (temel) → CrudRepository (CRUD) → PagingAndSortingRepository (sayfalama/sıralama) → JpaRepository (JPA'ya özgü). Her seviye özellik ekler: CrudRepository save/delete ekler, PagingAndSortingRepository sayfalama/sıralama ekler ve JpaRepository flush/batch ekler. Bu mimari, gereken özellik seviyesinin seçilmesine olanak tanır.

4

Hangi JpaRepository metodu, değişiklikleri veritabanıyla anında senkronize etmeyi sağlar?

5

Hangi durumda JpaRepository yerine CrudRepository tercih edilmelidir?

+22 mülakat soruları

Bir sonraki mülakatın için Spring Boot'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla