一開始我想告訴大家,我是這個國王的新人。 我在爲我的Spring MVC應用程序創建正確的sql表時遇到了問題。爲了管理我的數據庫,我使用了Hibernate。我的應用程序有兩種類型的用戶: *小學 - 姓名,電子郵件, *二次 - 這在我的腦海裏應該擴大「主」,因爲它得到了加額外這僅僅屬於「二級」相同的屬性使用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 *用戶名 *密碼 *姓 *姓氏 *性別 *郵編
「UsersGuardian」: *電子郵件PK *用戶名 *密碼 *姓 *姓氏 *性別 *郵編 * typeOfJob * whatUWannaDo
請讓我知道,如果這是一個很好的解決方案在我的情況。
預先感謝任何信息:)
僅供參考,使用JBoss Hibernate的工具(Eclipse插件),我們可以逆向工程冬眠從數據庫架構的POJO。你不必自己創造它 –