Data JPA (4) 썸네일형 리스트형 3. data jpa가 제공해주는 deleteAll에 대한 의문점 (컨트리뷰션 실패) 요약이미 deleteAll로 하였을 경우 단건씩 나가는 문제를 해결한 메소드인 delete batch가 있다고 합니다...그래도 덕분에 배치에 대해 배웠습니다.계기해당 컨트리뷰션에 도전하게된 계기는 다음과 같습니다. 23년 여름 현장실습을 하며 업무들을 쳐내고 있었습니다. 당시 저는 여러개의 엔티티를 한번에 지워야 하는 삭제 쿼리를 개발하여야 했습니다. 저는 data jpa가 제공해주는 막강한 기능(막강한 최적화)만을 믿고 삭제 기능을 구현하고 테스트 하였습니다. 그러나 실제로 나가는 쿼리를 보니 삭제해야 할 엔티티를 모두 조회하고 한번에 삭제를 하는 것이 아닌 단건씩 삭제가 되었습니다.사실 당시 진행하고 있던 프로젝트는 사내 업무를 보조하는 성격의 프로그램이였기에 단건씩 삭제가 되든 한번에 삭제가 되든.. 2. 컨트리뷰션을 해보기 이전 준비해야 할 것들 (컨트리뷰션 실패) 이전 글 에서 불연득 컨트리뷰션을 해보기 위해 마음을 먹고 방법을 찾아보았습니다. 그리고 다행이도 컨트리뷰션 가이드가 있어 해당 가이드를 따라하고자 합니다. 아래는 제가 하고자 하는 컨트리뷰션의 대략적인 개요를 파파고의 힘을 빌려 작성한 이슈입니다. 가이드에서 안내하는대로 하였으니 이제는 기다리는것 말고는 할게 없습니다...! (제가 제안한것에 대해 시원하게 okay 라고 해주세요 ㅠㅠ 사실 이게 안된다면 삭제 쿼리 관련하여 개선할것도 한발 남아있기는 합니다ㅎ..) 수정 그럼 기능은 필요없다고 돌려말해주셨습니다..ㅠㅠ 그래도 삭제 쿼리가 하나씩 나가는 문제점이 아직 남아 있으니 이 것에 대해 다시 한번 더 컨트리뷰션을 시도하고자 합니다... 1. exists + All 관련한 오래된 의문 (컨트리뷰션 실패) https://goto-pangyo.tistory.com/189 Data Jpa의 exists에 대한 고찰 현상 현장 실습중 인자의 리스트의 값이 DB에 모두 있어야만 True가 반환되는 로직을 구현해야 할 일이 생겼다. 나는 현장실습에서 사용중인 data jpa를 통해 해당 로직을 구현하였다. 나는 다음과 goto-pangyo.tistory.com 컨트리뷰션을 해볼까하고 마음먹은 계기는 제가 이전에 쓴 글에도 나와있지만 반년정도 지난 지금 다시 생각을 해보면 다음과 같습니다. 웹 개발을 하며 특정 테이블에 특정 값이 모두 존재하는지 확인하는 로직이 필요한 상황이 종종 필요할듯합니다. 이는 지극히 개인적인 생각이지만 아무렴 어떤가 이러라고 컨트리뷰션이 있지않은가! 처음 이 불편한 점을 발견하였을당시는 현.. Data Jpa의 exists에 대한 고찰 현상 현장 실습중 인자의 리스트의 값이 DB에 모두 있어야만 True가 반환되는 로직을 구현해야 할 일이 생겼다. 나는 현장실습에서 사용중인 data jpa를 통해 해당 로직을 구현하였다. 나는 다음과 같이 메서드를 data jpa의 메서드 네이밍 컨벤션에 따라 작성하였다. Boolean existsAllByIdIn(List ids); 이후 해당 로직이 올바르게 동작하는지 테스트를 해보았지만 이상한 점을 찾았다. 내가 원하는 로직은 인자로 주어지는 값이 DB에 모두 있어야지만 true를 반환하는 것이지만 실제로 동작할때는 하나라도 값이 있으면 true를 반환하는 식으로 동작하였다. 즉 and 가 아닌 or 처럼 연산되는 문제점을 발견한것이다. 보다 정확한 쿼리를 확인하기 위해 p6spy 라이브러리를 통해.. 이전 1 다음