REV(revision pk): 수정 번호
REVTYPE(revision type): 생성, 수정, 삭제가 enum으로 관리되는데, 아쉽게도 DB에는 숫자로만 표현되니.. 숫자만 보고 뭘 의미하는지 알아야한다
0
|
add(insert)
|
1
|
modify(update)
|
2
|
delete
|
envers를 테스트 할 겸 데이터를 추가, 수정, 삭제해봤다.
REV가 1인 row는 초기 데이터 값
REV가 2인 row는 REVTYPE이 0이므로 데이터 추가
REV가 3인 row는 REVTYPE이 1이므로 데이터 수정
REV가 4인 row는 REVTYPE이 2이므로 데이터 삭제
Enum class란?
우리가 흔히 상수를 정의할 때 final static string 과 같은 방식으로 상수를 정의를합니다. 하지만 이렇게 상수를 정의해서 코딩하는 경우 다양한 문제가 발생됩니다.
따라서 이러한 문제점들을 보완하기 위해 자바 1.5버전부터 새롭게 추가된 것이 바로 "Enum" 입니다.
Enum은 열거형이라고 불리며, 서로 연관된 상수들의 집합을 의미합니다.
기존에 상수를 정의하는 방법이였던 final static string 과 같이 문자열이나 숫자들을 나타내는 기본자료형의 값을 enum을 이용해서 같은 효과를 낼 수 있습니다.
Enum의 장점
Enum을 사용하면서 우리가 얻을 수 있는 이점은 다음과 같습니다.
1. 코드가 단순해지며, 가독성이 좋습니다.
2. 인스턴스 생성과 상속을 방지하여 상수값의 타입안정성이 보장됩니다.
3. enum class를 사용해 새로운 상수들의 타입을 정의함으로 정의한 타입이외의 타입을 가진 데이터값을 컴파일시 체크한다.
4. 키워드 enum을 사용하기 때문에 구현의 의도가 열거임을 분명하게 알 수 있습니다.
'개발 > JPA' 카테고리의 다른 글
JPA *Repository , @Transactional, @Autowired , @Query, @Modifying, DI, JpaRepository-> findById , getById (0) | 2022.07.21 |
---|---|
@EntityListeners @MappedSuperClass @CreatedDate @Column(updatable = false) 어노테이션 (0) | 2022.07.21 |
@GeneratedValue 자동 생성 전략 (0) | 2022.07.21 |
history Envers로 개발 @Configuration @EnableJpaAuditing (0) | 2022.07.21 |
JPA 나만의 정리 (4) - @ManyToOne , @JoinColumn (0) | 2022.07.21 |