작성
·
488
0
@MappedSuperclass을 이용해서
지금 예제로 하고 있는 엔티티들의 id값을 BaseEntity로 만들어서 매핑 정보를 상속받는 식으로 개발을 해도 상관없는 건가요?
<BaseEntity.class>
@MappedSuperclass
public abstract class BaseEntity {
@Id @GeneratedValue
private Long id;
}
이렇게 만들어놓은 후에 각 엔티티마다 상속받게 하고,
@AttributeOverride로 매핑 정보를 재정의해서 하는 방식도 많이 쓰이는지 궁금합니다!
<Member.class>
@Entity
@Getter @Setter
@AttributeOverride(name = "id",
column = @Column(name = "member_id"))
public class Member extends BaseEntity {
private String name;
@Embedded
private Address address;
@OneToMany(mappedBy = "member")
private List<Order> orders = new ArrayList<>();
}
답변 1
1
안녕하세요. 댕댕님
이런 방식도 사용이 가능은 합니다.
그런데 변수명을 실제 id라고 하기보다는 어느정도 구분을 위해서 memberId와 같이 사용하기 때문에 저는 id에 대해서는 사용하지 않게 되더라구요.
등록일자, 수정일자 처럼 일반적으로 자주 사용하는 속성에는 주로 사용합니다.
감사합니다.
저런 식으로 사용이 가능한지 궁금했는데 궁금증이 풀렸습니다!!
좋은 답변 감사합니다!