我需要确保一个实体专门针对一个实体。
例如,我有一个可以是学生或教师的人。必须是其中之一,不能两者兼而有之。我希望与一个学生或教师相关联的人。
我正在使用MySQL和JPA。
我怎样才能做到这一点?
答案 0 :(得分:0)
如果有人是学生或教师,不能同时兼任教师,反之亦然,您可以使用继承:
@Entity
public abstract class Person {
...
}
@Entity
public class Student extends Person {
}
@Entity
public class Teacher extends Person {
}
如果学生和教师更倾向于角色,一个人可以避开,而一个人一次只能拥有一个角色(但可以改变角色),请使用属性。例如:
public enum Role {
TEACHER,
STUDENT
}
@Entity
public class Person {
private Role role;
...
}