2016-11-28 183 views
0

一開始我想告訴大家,我是這個國王的新人。 我在爲我的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

請讓我知道,如果這是一個很好的解決方案在我的情況。

預先感謝任何信息:)

+0

僅供參考,使用JBoss Hibernate的工具(Eclipse插件),我們可以逆向工程冬眠從數據庫架構的POJO。你不必自己創造它 –

回答