Spring Data & JPA
Bu bölüm, Spring Data ve JPA kullanarak veri erişimi, repository pattern, transaction yönetimi ve NoSQL entegrasyonu konularını kapsar.
1. Spring Data Nedir?
- Repository abstraction, CRUD ve custom repository
- Spring Data JPA, MongoDB, Redis, Elasticsearch desteği
2. JPA Temelleri
- Entity, @Id, @GeneratedValue, @Table, @Column
- EntityManager, persistence context, lifecycle
3. Repository Pattern ve Query Methods
- JpaRepository, CrudRepository, PagingAndSortingRepository
- Derived query methods, @Query annotation, native queries
4. Transaction Management
- @Transactional annotation, propagation, isolation
- Rollback, commit, nested transactions
5. NoSQL Entegrasyonu
- Spring Data MongoDB, Redis, Cassandra, Elasticsearch
- Document, key-value, graph ve columnar veri modelleri
6. Performans ve Optimizasyon
- Lazy vs eager loading, fetch join, entity graph
- Caching, query optimization, batch processing
7. Migration ve Versiyonlama
- Database migration araçları: Flyway, Liquibase
- Schema versioning, rollback stratejileri
8. Sık Karşılaşılan Sorunlar ve Çözüm Yöntemleri
- N+1 select problemi, transaction yönetimi hataları
- Mapping ve conversion sorunları
Her başlık altında örnekler, kod parçaları ve ileri seviye detaylar için ilgili alt bölümlere göz atabilirsiniz.