티스토리 뷰

반응형

엔티티를 설계하다보면 공통적으로 들어가는 멤버 변수들이 많이 있다.

예를 들어 운영시 필요한 생성시간, 생성한 유저, 변경시간, 변경한 유저 등...

 

이것을 일일히 적어도 되지만 반복을 피할수록 좋기 때문에, 이것을 @MappedSuperclass를 통해서 해결할 수 있다.

 

다음처럼 공통되는 변수를 묶은 클래스를 만들어 준다. (해당 변수들에 필요한 제약조건들은 동일하게 붙혀주면 된다.)

@MappedSuperclass
public abstract class BaseEntity {

    @Column(name = "INSERT_MEMBER")
    private String createdBy;
    private LocalDateTime createDate;
    private String lastModifiedBy;
    private LocalDateTime lastModifiedDate;

	// getter, setter
}

 

그리고 해당 객체를 상속받아 엔티티를 생성하면 된다.

public class Member extends BaseEntity {
	// blah blah
}
728x90
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
250x250