【发布时间】:2018-08-25 19:50:13
【问题描述】:
我目前正在尝试自己构建一个带有 jdbc 连接的完整 Spring Boot Rest 服务。
目前,我正在努力解决有关休眠和存储实体的小问题。
我有一个基类:
@Entity
@Table
public abstract class Person {
private int id;
private String firstName;
private String middleName;
private String lastName;
@Id
@GeneratedValue(generator = "increment")
@GenericGenerator(name = "increment", strategy = "increment")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Column
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@Column
public String getMiddleName() {
return middleName;
}
public void setMiddleName(String middleName) {
this.middleName = middleName;
}
@Column
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
还有2个子类:
@Entity
@Table
public class Member extends Person{
private String memberNumber;
@Column
public String getMemberNumber() {
return memberNumber;
}
public void setMemberNumber(String memberNumber) {
this.memberNumber = memberNumber;
}
}
和
@Entity
@Table
public class Supporter extends Person {
private String supporterNumber;
@Column
public String getSupporterNumber() {
return supporterNumber;
}
public void setSupporterNumber(String supporterNumber) {
this.supporterNumber = supporterNumber;
}
}
基类是抽象的,因为我想防止在不指定成员或支持者的情况下创建它的实例。但在数据库方案中,由于规范化,我仍然希望有 3 个表。
我现在应该使用哪些注释来达到这个目标?我现在如何将一行成员或支持者链接到该成员?我真的很困惑。
谢谢!
【问题讨论】:
-
欢迎使用stackoverflow,您能与我们分享您遇到了什么错误吗?
-
直到现在我没有收到任何错误信息。我只是想了解下一步我要做什么。 :)
-
为什么不查看任何有关“继承”的在线 JPA 文档?他们告诉你所有你需要知道的。
-
我已阅读所有文档和教程。对于我的问题,我没有得到答案。我认为在上面的这个例子中我无法想象。