처음에는 내가이 물건의 왕이되었다는 소식을 전하고 싶습니다. 스프링 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
제 경우에 좋은 해결책인지 알려주세요. 정보 :
, 우리는 엔지니어가 데이터베이스 스키마에서 POJO를 최대 절전 모드로 되돌릴 수 있습니다. 당신은 정말로 그것을 직접 만들지 않아도됩니다. –