一开始我想告诉大家,我是这个国王的新人。 我在为我的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。你不必自己创造它 –