Cause of Death: Spring Data JPA by Thorben Janssen @ Spring I/O 2025
- 스프링 데이터 JPA는 고성능 애플리케이션을 구축할 수 있지만, 잘못된 사용은 성능 저하, 데이터 불일치, 데이터 손실을 초래할 수 있음. 🐌
- LazyInitializationException은 흔한 문제이며, FetchType을 EAGER로 변경하는 것은 N+1 문제로 이어질 수 있음. 💥
- ManyToMany 관계를 List로 모델링하면 Hibernate에서 비효율적으로 처리되므로 Set을 사용하는 것이 좋음. 📚
- 여러 개의 ManyToMany 관계를 Join Fetch하면 MultipleBagFetchException이 발생할 수 있으며, 캐싱이 항상 성능 향상으로 이어지지는 않음. 💣
- Hibernate 통계 활성화(spring.jpa.properties.hibernate.generate_statistics=true)는 개발 시 성능 문제를 식별하는 데 도움이 됨. 📈