-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
선생님은 실무에서 데이터를 등록할 때 어떤걸 쓰시나요? ( persist vs save )
22.08.11 16:23 작성 조회수 213
0
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
spring data jpa의 save를 사용할 경우 내부적으로 id 값으로 데이터가 있는지 확인하는 select 쿼리를 날리고 insert 또는 update를 합니다.
그럼으로 그냥 insert 하는 것 보다 1번의 쿼리(총 2번)가 더 발생합니다.
답변을 작성해보세요.
0
![화이팅님의 프로필](https://cdn.inflearn.com/public/main/profile/default_profile.png?w=48)
화이팅
질문자2022.08.14
선생님 답글 남겨주신 부분을 보고 제가 save의 동작 방식을 헷갈리고 있던 걸 알게되었습니다.
디버깅해서 isNew를 타고 가니 선생님이 애기해주신대로 id 값의 존재 유무로 따라 persist, merge를 호출하더군요.
정말 감사합니다.
한가지 더 궁금한게 있어서 문의드립니다.
persist를 사용하면 spring 이 변환해주는 exception(org.springframework.dao.*Exception)이 아니라 jdbc 설정된 db(h2)의 Exception을 직접 반환하더라고요.
db 강의를 듣고나서 생각했을 때는 spring이 변환해주는 Exception을 사용하기위해 save를 사용하는게 더 좋은 방법이라고 생각됩니다.
선생님의 의견이 궁금하여 문의드립니다!
실무에서는 save를 사용하는지가 궁금합니다!
![화이팅님의 프로필](https://cdn.inflearn.com/public/main/profile/default_profile.png?w=48)
화이팅
질문자2022.08.16
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-2/unit/114657?tab=curriculum
강의 듣는중 JPA 예외 변환을 통해 순수 JPA의 data exception을 spring 추상화 exception으로 변환하는 법을 알게되었습니다. 제가 질문 드린 것에 대한 답과 연관되어 있네요. 감사합니다!
답변 1