JPA2 [JPA] @SQLDelete와 @Where를 통한 SOFT DELETE 처리 개요 엔티티를 설계하고, 애플리케이션을 구축해 나가다 보면 엔티티간의 여러 연관관계를 고려해주어야할 것입니다. 이렇게 여러 엔티티간의 연관관계를 가지게 되면, 하나의 엔티티가 삭제될 때에도 이 엔티티가 어디까지 영향을 미치는지 고려해주어야 하는데요. 이를 처리하기 위해서는 hard delete와 soft delete가 존재합니다. 이번 포스팅에서는 Hard Delete가 무엇인지 간단하게 언급하고, Soft Delete에 대해 적용해보도록 하겠습니다. Hard Delete? Hard Delete는 DELETE 쿼리를 데이터베이스에 날려 데이터를 실제로 삭제하는 방법을 말합니다. Soft Delete? Soft delete는 hard delete와 다르게, 실제로 데이터베이스에서 데이터를 삭제하는 것이 아.. 2023. 1. 5. [JPA] N+1 문제 개요 연관 관계가 설정된 엔티티를 사용하는 코드를 구현하다 보면, 마주하는 대표적인 문제는 N+1문제가 있을 것 입니다. 이번 포스팅에서는 N+1 문제가 무엇이고 어떠한 방법으로 해결할 수 있는지 알아보도록 하겠습니다. N+1 문제 연관 관계에서 발생하는 이슈로, 연관 관계가 설정된 엔티티를 조회할 경우에 조회된 데이터 갯수(n)만큼 연관관계의 조회 쿼리가 추가로 발생하여 데이터를 읽어오는 문제 입니다. 말보단 코드로 이해하는 게 더 쉬울 것 같아, 코드를 통해 알아보도록 하겠습니다. 코드 예제 상황 Member와 Team 엔티티가 존재하고, 하나의 팀은 여러명의 멤버를 가지는 상황이라고 해봅시다. Member Entity @Getter @Setter @NoArgsConstructor(access = A.. 2022. 12. 22. 이전 1 다음