JPA单表继承getType()

时间:2012-06-03 21:45:03

标签: inheritance jpa eclipselink single-table-inheritance

如何从父类中检索type参数以确定正在引用哪个子类。我有一个带有鉴别器Person的{​​{1}}表的简单示例,我找不到Student, Teacher..列的getter?是否在数据库中但是从api中丢失了。任何其他方式我可以得到我引用的Person对象的类型?

1 个答案:

答案 0 :(得分:0)

在一个理想的世界中,你不应该关心被引用人的类型,你应该只能多态地访问它。

如果您完全确定引用的人不是代理人,则只需使用instanceof运算符即可。或者,您可以修改人员实体以为鉴别器列提供getter。或者,您可以覆盖所有子类中的getType()方法,以便对象返回其类型。