有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate继承:两个孩子共享一个父母

我有一个简单的人员等级:

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@Table(name="person")
public class Person implements Serializable

@Entity
@Table(name="student")
@PrimaryKeyJoinColumn(name="id")
public class Student extends Person

@Entity
@PrimaryKeyJoinColumn(name="id")
@Table(name="teacher")
public class Teacher extends Person

有可能有一个人同时是老师和学生吗


共 (1) 个答案

  1. # 1 楼答案

    我倾向于建议在不改变定义的层次结构的情况下,为教师添加一个表示学生身份的字段。i、 e

    @Entity
    @PrimaryKeyJoinColumn(name="id")
    @Table(name="teacher")
    @Table(isStudent="True/False")
    public class Teacher extends Person
    

    或者,你有没有考虑过让第三个班级代表一名教师,同时也是一名学生,作为个人的延伸

    @Entity
    @PrimaryKeyJoinColumn(name="id")
    @Table(name="teacher-student")
    public class TeacherStudent extends Person