Hibernate继承:共享父级的两个子级

时间:2016-12-16 20:38:06

标签: java hibernate

我有一个简单的JOINED人员层次结构:

@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 个答案:

答案 0 :(得分:0)

我倾向于建议您为教师添加一个表示学生的字段,而不会更改已定义的层次结构。即。

add_compile_options(
    -std=c++11 
    -Wall 
    $<$<NOT:$<STREQUAL:$<TARGET_PROPERTY:SOURCE_DIR>,${CMAKE_SOURCE_DIR}/test_app1>>:-Werror>
)

或者,您是否考虑过制作第三堂课代表同时也是学生的教师,作为人的延伸?

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