2013-07-19 5 views

답변

4

마틴 파울러의 책 Patterns of Enterprise Application Architecture 서브 클래스 테이블에 대한 솔루션을 다룹이이에 해당

을 @ spencer7593의 대답에서 Java & Hibernate에 묶이지 않은 옵션.

+0

+1. 이것은 내 대답보다 나은 대답입니다. (아무도 Hibernate에 묶이는 것을 좋아하지 않지만, 당신이 묶여 있다면 문서는 매우 중요하다.) – spencer7593

3

Hibernate 문서는 관계형 데이터베이스에서 상속 계층 구조를 표현하는 데 사용할 수있는 옵션에 대해 설명합니다. 의심의 여지없이 더 나은 튜토리얼이 있지만, Hibernate ORM (이 - 또는 - 증오 - 그게)이 문제와 씨름. - 기본적으로 하나 개의 테이블, 모든 서브 클래스의 모든 속성과

  • 테이블 클래스 계층 당 : 상속 계층 구조를 나타내는 단일 "가장 좋은 방법은"이 없기 때문에

    , 그들은 모든 옵션을 지원합니다. 없음 (별도의 테이블에 각 서브 클래스 - 하나 개의 슈퍼 클래스에 대한 테이블, 그리고

  • 테이블 구상 서브 클래스 당 각 서브 클래스에 대한 별도의 테이블 - 열 많은 가능성 행

  • 테이블 서브 클래스 당

    의 많은에 null가됩니다 슈퍼 클래스 용 테이블)

정답은 하나도 없습니다. 이러한 각각의 접근 방식은 장점과 단점이 있습니다.

http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/inheritance.html

+0

+1 Hibernate는 이러한 패턴을 구체적으로 구현 한 것으로 OP가 Java를 사용하고 있다면 매우 적절합니다. –