2016-11-28 2 views
0

처음에는 내가이 물건의 왕이되었다는 소식을 전하고 싶습니다. 스프링 MVC 응용 프로그램에 적절한 SQL 테이블을 만드는 데 문제가 있습니다. 데이터베이스를 관리하기 위해 Hibernate를 사용하고 있습니다. 내 응용 프로그램은 사용자의 두 가지 유형 가지고 : * 주 - 이름, 성, 이메일을 보조 * - 그것은 단지 "차"에 속하는 및 추가 동일한 속성최대 절전 모드로 테이블 만들기

을 가지고 있기 때문에 내 마음에 "차"연장해야하는 지금까지 내가 사용자와 두 개의 모델을 만들 :

사용자


@Entity 
    @Table(name = "users", catalog = "findbabysister") 
    public class User { 

     @Id 
     @Column(name = "username", unique=true, 
     nullable = false, length = 45) 
     private String email; 

     @Column(name = "password") 
     private String password; 

     private String passwordConfirm; 

     @Column(name = "enabled") 
     private boolean enabled = true; 

     @Column(name = "firstName") 
     private String firstName; 

     @Column(name = "lastName") 
     private String lastName; 

     @Column(name = "sex") 
     private boolean sex; 

     @Column(name = "zipCode") 
     private String zipCode; 

     private Set<UserRole> userRole = new HashSet<UserRole>(0); 
} 

및 UserNanny

@Entity 
@Table(name = "usersGuardian", catalog = "findbabysister") 
public class UserNanny extends User{ 

    @Column(name = "typOfJob") 
    private String typOfJob; 
    @Column(name = "whatUwannaDo") 
    private String whatUwannaDo; 

    public String getTypOfJob() { 
     return typOfJob; 
    } 
    public void setTypOfJob(String typOfJob) { 
     this.typOfJob = typOfJob; 
    } 
    public String getWhatUwannaDo() { 
     return whatUwannaDo; 
    } 
    public void setWhatUwannaDo(String whatUwannaDo) { 
     this.whatUwannaDo = whatUwannaDo; 
    } 
} 

이제 테이블을 올바르게 만드는 방법이 궁금합니다. 싱글 테이블 전략을 사용할 수는 있지만이 작업에 대한 전문적인 접근 방법은 아닙니다.

"사용자": * 이메일 Pk의 * 사용자 이름 * 비밀번호 * FIRSTNAME * LASTNAME * 섹스 * 우편 번호

"UsersGuardian" * 이메일 내 생각은 다음과 같이 두 개의 테이블을 생성했다 PK * 사용자 이름 * 비밀번호 * FIRSTNAME * LASTNAME * 섹스 * 우편 번호 * typeOfJob * whatUWannaDo

제 경우에 좋은 해결책인지 알려주세요. 정보 :

+0

, 우리는 엔지니어가 데이터베이스 스키마에서 POJO를 최대 절전 모드로 되돌릴 수 있습니다. 당신은 정말로 그것을 직접 만들지 않아도됩니다. –

답변

0

최대 절전 모드에 미리

덕분에 같은 시나리오를 해결하기 위해 다양한 방법을 제공합니다. 요구 사항에 따라 단일 테이블 또는 다중 테이블을 가질 수 있습니다. 다음 페이지를 읽어 보길 권한다. 상속 매핑에 대해 설명하고 있으며 구현해야하는 부분이다. 제이 보스 최대 절전 모드 도구 (Eclipse 플러그인)를 사용하여 참고

http://docs.jboss.org/hibernate/orm/3.5/reference/en/html/inheritance.html

관련 문제