반응형

Repository 2

[JPA] deleteAll() vs deleteAllInBatch()

이번 글은 본인이 프로젝트하던 중 크게 착각하여 데이터를 깔끔하게 지워버린 경험을 토대로 작성합니다. ( 팀원분들 다 죄송합니다.... 그나마 개발 DB여서 천만 다행이었습니다. ) 절대 저와 같은 실수를 하지 않기를 바라면서 작성합니다. 먼저 결론부터 작성하자면 deleteAll(), deleteAllInBatch()는 되도록이면 쓰지말자. 두 메서드 모두 Repository와 매핑되어있는 테이블의 데이터를 깔끔하게 지우는 명령입니다. 두 메서드가 어떻게 다른지 구현 코드를 살펴보겠습니다. deleteAll() @Repository @Transactional(readOnly = true) public class SimpleJpaRepository implements JpaRepositoryImpleme..

Daily Develop 2021.07.28

[JPA] JPA를 적용하며.. ( insert, update 분기 편 )

프로젝트를 진행하면서 JPA를 도입하였습니다. 지난글( [JPA] 프로젝트에 JPA를 적용하며.... ( save편 ) )에서는 JPA의 영속성을 이용하여 insert, update를 처리하는 방법에 대해서 정리하였습니다. 도입 배경 및 JPA 적용방법에 대해서 궁금하시면 제 블로그에 "JPA" 로 검색하시면 Querydsl, 로깅 처리방법까지 정리해두었습니다. insert, update를 메소드로 분리하여 각각 처리하였습니다. 그런데 한 메소드에서 처리할 수 없을까? 하고 고민하고 적용한 내용을 정리하겠습니다. 같은 API로 데이터가 있으면 update하고 없으면 insert하는 메소드 예제를 작성해보겠습니다. @Service @RequiredArgsConstructor // 의존성 주입 public ..

Develop/spring-data 2020.11.27
728x90
반응형