🌧️ ORM

🌧️ ORM/JPA

JPA 복합키 사용 시 주의사항 (feat. 테스트 케이스로 알아보자)

Intro 다대다 테이블을 보통 일대다 ↔ 다대일 테이블로 풀어서 구성하곤 합니다. 중간에 이어주는 테이블을 중간 테이블이라고 부르는데 이 테이블의 PK가 양쪽 테이블의 PK를 가지고 복합키를 구성할 수 있습니다. JPA에서 복합키로 PK를 구성했을 때, 저장 또는 PK를 업데이트를 해야할 때 주의해야 할 점에 대해서 알아보도록 하겠습니다. 개발환경 SpringBoot 2.5.11 Java 11 H2 memory db 테스트용 엔티티 소개 @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Member { @Id @GeneratedValue private Long id; private String name; @Ma..

🌧️ ORM/JPA

JPA Auditing으로 생성일, 수정일 자동 생성

Auditing 이란? 엔티티는 나중에 유지보수를 위해서 생성일과 수정일을 필수적으로 가지고 있어야 용이합니다. 먼저 일반적으로 생성일과 수정일을 생성하는 방법입니다. 생성일 public Book saveBook(BookDto bookDto) { // BookDto -> Book 변환 Book book = ...; book.setCreatedAt(LocalDateTime.now()); ... } 수정일 public Long updateBook(Long bookId, BookDto bookDto) { // 수정 로직 book.setModifiedAt(LocalDateTime.now()); ... } 이런식으로 엔티티가 증가하면 증가할수록 단순 반복 코드가 늘어나게 됩니다. 이럴 때 Auditing을 사용하..

iseunghan
'🌧️ ORM' 카테고리의 글 목록