Sql JPA:单表继承可能的性能折衷
我有以下MS SQL DB表,其中存储了与学校相关的数据: 高中Sql JPA:单表继承可能的性能折衷,sql,hibernate,jpa,inheritance,single-table-inheritance,Sql,Hibernate,Jpa,Inheritance,Single Table Inheritance,我有以下MS SQL DB表,其中存储了与学校相关的数据: 高中 @Entity @Table(name = "GradeLevels", schema = "dbo") public class HighSchoolGradeLevel { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "AttendedId", nullable = false) private HighSchoolAttended highSc
@Entity
@Table(name = "GradeLevels", schema = "dbo")
public class HighSchoolGradeLevel {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "AttendedId", nullable = false)
private HighSchoolAttended highSchoolAttended;
@OneToMany(mappedBy = "highSchoolGradeLevel")
@OrderBy("createdDate ASC")
private List<HighSchoolCourse> highSchoolCourses = new ArrayList<>(0);
// other fields and getter/setter methods....
}
@Entity
@Table(name = "Courses", schema = "dbo")
public class HighSchoolCourse {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "GradeLevelId", nullable = false)
private HighSchoolGradeLevel highSchoolGradeLevel;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "highSchoolCourse", cascade={CascadeType.REMOVE, CascadeType.PERSIST})
@OrderBy("createdDate ASC")
private List<HighSchoolCourseGrade> highSchoolCourseGrades = new ArrayList<>(0);
// other fields and getter/setter methods....
}
@Entity
@Table(name = "CourseGrades", schema = "dbo")
public class HighSchoolCourseGrade {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CourseId", nullable = false)
private HighSchoolCourse highSchoolCourse;
// other fields and getter/setter methods....
}