我有一个简单的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
是否可以让一个人同时成为一名教师和一名学生?
答案 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