[JPA] Delete - Bulk Delete에 대한 메모
JPA Repository를 이용한 레코드 삭제 레코드를 삭제하는 코드를 작성하다 보면 1:N의 관계에서 1의 id를 가지고 N의 레코드를 삭제할 때가 있습니다. JpaRepository에서 team과 teamMember의 관계를 예로 들어 아래처럼 코드를 짤 수 있습니다. fun deleteAllByTeamId(teamId: UUID) 물론 제대로 동작도 합니다. 다만 이 코드는 과도한 성능이 필요할 수 있는 위험을 내포하고 있습니다. 만약 해당 팀의 멤버가 10000명이라면 어떻게 될까요? 그러면 아래처럼 무수한 delete 쿼리가 DB 서버로 날아가게 됩니다. // pseudo code select teamMember by teamId delete teamMember1 delete teamMembe..
JPA(Hibernate)
2019. 11. 20. 17:47