Skip to content

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.