2016-11-28 3 views
0

Am Anfang möchte ich informieren, dass ich neu in diesem König der Sachen bin. Ich habe ein Problem mit dem Erstellen von SQL-Tabellen für meine Spring MVC-Anwendung. Um meine Datenbank zu verwalten, verwende ich Hibernate. Meine Anwendung hat zwei Arten von Benutzern: * Primär - Name, Vorname, E-Mail, * Sekundär - was in meinem Kopf verlängern sollte „primäre“, weil sie die gleichen Attribute bekamen plus zusätzliche, das nur „sekundäre“ gehörtErstellen einer Tabelle mit Hibernate

bisher mache ich zwei Modelle mit den Nutzern:

Benutzer


@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); 
} 

und 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; 
    } 
} 

Jetzt frage ich mich, wie man Tabellen richtig erstellt. Ich weiß, dass ich Single-Table-Strategie verwenden kann, aber es ist kein professioneller Ansatz für diese Aufgabe. Meine Idee war die Schaffung von zwei Tabellen wie folgt aus:

"Benutzer": * E-Mail-Pk * Benutzername * Passwort * Vorname * Nachname * Sex * zipcode

"UsersGuardian": * E-Mail Pk * Benutzername * Passwort * Vorname * Nachname * Sex * zipcode * typeOfJob * whatUWannaDo

Bitte lassen Sie mich wissen, ob das in meinem Fall eine gute Lösung ist.

Viele Dank im Voraus für jede Information :)

+0

FYI, mit Jboss Hibernate Tools (ein Eclipse-Plugin), können wir Reverse Engineering POJOs von Datenbank-Schema überwintern. Sie müssen es nicht wirklich selbst erstellen –

Antwort

Verwandte Themen