[Proof] Repository 구현체의 catch는 수정 경로 예외를 번역하는가 — 지지
예외 종류별 처리 표준의 원칙 2는 영속성 예외를 Repository 구현체의 try/catch에서 번역하게 한다. 예시 구현체는 save 하나에서 신규와 수정을 함께 처리하고, 전체를 감싼 catch가 DataIntegrityViolationException과 Optimistic...
예외 종류별 처리 표준의 원칙 2는 영속성 예외를 Repository 구현체의 try/catch에서 번역하게 한다. 예시 구현체는 save 하나에서 신규와 수정을 함께 처리하고, 전체를 감싼 catch가 DataIntegrityViolationException과 Optimistic...
패키지 구조 표준은 infra를 package-private으로 막으면서, 영속성 예외를 구현체에서 번역해야 하는 이유를 이렇게 적었다.
DTO 생성자 표준은 「생성자로만 만든다」는 규칙에 예외를 둘만 뒀고, 그중 하나가 MyBatis다.
선행 실험은 final 필드에 전 인자 생성자만 둔 타입도 설정 없이 채워진다는 것을 보였다. 그래서 DTO 생성자 표준이 MapperResult에만 @Setter·@NoArgsConstructor를 허용한 근거가 흔들렸고, 이슈 #165 「MyBatis는 생성자만으로도 매핑된다」...
DTO 생성자 표준은 금지 목록을 적은 뒤 그 목록이 저절로 지켜진다고 했다.