@PrePersist2 JPA - 기본키 생성 전략 JPA - 기본키 생성 전략 관계형 데이터베이스에서 테이블은 각각의 행을 구별하는 기본키가 필요하다. 기본키를 만들 때는 주민등록번호, 주문번호 같은 '자연키' 를 사용할 수도 있고, 논리적 의미가 하나도 없는 하나씩 증가하는 순번 같은 '대체키'를 사용할 수도 있다. 기본키로 어떤 것을 선택하면 좋을까? 주문번호 관련 생성 정책이 변경되거나 주민등록번호를 더 이상 저장하면 안된다는 정책이 생기는 등 자연키는 기본키로 정할 수 있는 올바른 전략이 아닐 수도 있다. 상황에 따라 다르겠지만 대체키를 권장한다. 대체키를 사용하고자 할 때는 Integer 타입 (약 10자리수, 21억 정도까지 표현) 대신 Long 타입 (약 19자리, 9백경 정도까지 표현)을 사용하여 표현 범위를 .. 2021. 9. 26. Spring Data JPA - Auditing Spring Data JPA 014 - Auditing Auditing은 생성일자, 생성자, 수정일자, 수정자를 자동으로 등록할 수 있도록 도와준다. 엔티티의 변경 시점에 위 정보를 기록하는 기능이다. 예제를 보자. @Getter @Setter @Entity @EntityListeners(AuditingEntityListener.class) public class Comment { @Id @GeneratedValue private Long id; private String comment; @ManyToOne(fetch = FetchType.LAZY) private Post post; ... @CreatedDate private Date created; @CreatedBy @ManyToOne private.. 2021. 2. 11. 728x90 이전 1 다음