2011-09-06 5 views
1

다음은 비즈니스 로직을 구현하기위한 추상 메소드와 함께 모든 데이터 필드 (및 연관된 getter 및 setter)가 수퍼 유형의 구성원 인 JPA 주석 유형 계층 구조입니다. . 데이터 멤버를 추가하지 않고 이러한 추상 메서드를 구현하는 하위 유형이 여러 개 있으므로 단일 테이블 상속 전략을 사용하므로 데이터베이스에서이 유형 계층 구조를 백업하기위한 테이블이 하나만 필요합니다.JPA/Hibernate : 하위 유형 대 전략 '패턴

데이터의 내용에 따라 궁극적 인 목표를 달성하기 위해 구현해야하는 여러 가지 동작이 있기 때문에이 방법을 사용했습니다.

이것은 JPA/Hibernate에서의 판별 자 컬럼 개념의 변환입니까?

데이터 구조가 하위 유형에서 다르지 않으므로 추상 메소드와 해당 구현을 전략 패턴 접근과 같은 것으로 옮겨야한다고 주장했습니다. 그의 개념이 더 나은가요?

답변

1

더 나은 것은 매우 주관적입니다. 구성 및 전략이 유효한 대안으로 들리므로 비즈니스 논리의 모든 구현에 대해 다른 엔터티를 매핑하지 않아도됩니다.

JPA와 절전 모드를 제외하고, 내가 읽은 모든 OO 설계 도서는 "상속을 통한 선호도 구성"으로 시작하여 공유 동작에 사용됩니다.

하나의 데이터 개체가 있다고 가정하면 각 최대 절전 모드 전략 사이에서 개체를 공유하고 조작 할 수 없습니까? 여하튼 JPA/동면 현상이 적 으면 어느 때보 다 눈이 더 쉬워집니다.

+0

컴포지션을 사용하여 보았지만 서비스 레이어에서 약간의 일이 조금 복잡해졌습니다. 그러나 저는 제가 여러분과 동료들에게 점점 더 위의 상속 체계가 크지 않다는 것에 동의한다고 생각합니다. 당신의 대답에 감사드립니다. – simpleton