AccessLevel=PROTECTED1 TIL 230808 : 코드 디테일 조금씩 살려보기 (Transactional, NoArgsConstructor(AccessLevel = PROTECTED)) 오늘은 팀과제를 하며 기본 틀이 되는 코드를 짜며 오갔던 내용 중 이유가 궁금한 것들을 두가지 정리해보았다. @Transactional (readOnly = true) DB에서 불러온 객체를 수정 하면 더티체킹으로 자동으로 수정사항을 반영해줄 수 있다. 물론, 트랜잭션을 열어줘야한다. 그정도로 알고 있었고, 추가적으로 조회시에도 (readOnly = true)를 넣어줘서 해도 좋다고 들었다. 근데 오늘 팀원이 상세하게 이유를 덧붙여서 수정 뿐만 아니라, 생성, 삭제시에도 @Transactional을 달아서 트랜잭션 환경을 열어주는 게 좋다고 했다. 이유는 롤백기능이다. @Transactional의 rollbackFor 기능 트랜잭션을 열어두면 스프링에서는 디폴트값으로 UnCheckedException과 .. 2023. 8. 8. 이전 1 다음