最初は、私はこの物語の王であることを知らせたいと思います。 私の春のMVCアプリケーション用の適切なSQLテーブルの作成に問題があります。データベースを管理するために、私はHibernateを使用しています。私のアプリケーションは2つのタイプのユーザーを持っています: *プライマリ - 名前、姓、電子メール、 *セカンダリ - "セカンダリ"に属している同じ属性と追加のものを持っているので "プライマリ"に拡張する必要があります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
:これまでのところ私は、ユーザーが持つ2つのモデルを作成します@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": *メール私の考えでは、このような2つのテーブルを作成していましたPK *ユーザ名 *パスワード *ファーストネーム *姓 *セックス *郵便番号 * typeOfJob * whatUWannaDo
私の場合、それが良い解決策であるかどうかを私にお知らせください。任意の情報を事前に
感謝:)
FYIは、JBoss Hibernateのツール(Eclipseプラグイン)を使用して、我々は、エンジニアがデータベーススキーマからPOJOを休止逆にすることができます。あなたは本当にそれを自分で作成する必要はありません –