Spring Data Repositories
Spring Data repositories, CrudRepository vs JpaRepository, özel sorgular, @EntityGraph, projeksiyonlar
1JpaRepository ve CrudRepository arasındaki temel fark nedir?
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.
2Repository hiyerarşisinde PagingAndSortingRepository'nin rolü nedir?
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.
3Spring Data repository arabirimlerinin doğru hiyerarşisi nedir?
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.
Hangi JpaRepository metodu, değişiklikleri veritabanıyla anında senkronize etmeyi sağlar?
Hangi durumda JpaRepository yerine CrudRepository tercih edilmelidir?
+22 mülakat soruları
Diğer Spring Boot mülakat konuları
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
SLF4J ve Logback ile Logging
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
İstisna Yönetimi
Bean Validation
Spring Data JPA Temelleri
JPA Varlıkları ve İlişkiler
JPA Sorguları
Spring Security Temelleri
Spring Boot Actuator
JUnit ve Mockito ile Birim Testleri
Spring Boot Test
Profiles ve Environment
RestTemplate ve WebClient
Async ve Scheduling
Spring ile Caching
Spring WebFlux (Reactive)
Spring İşlemleri
Gelişmiş kimlik doğrulama ve yetkilendirme
JWT ve Stateless Güvenlik
OAuth2 ve Authorization Server
Spring Boot ve Docker
Spring ile Microservices
Spring Cloud Config
Performans Optimizasyonu
GraalVM Native Images
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