Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Inheritance JPA单表继承getType()_Inheritance_Jpa_Eclipselink_Single Table Inheritance - Fatal编程技术网

Inheritance JPA单表继承getType()

Inheritance JPA单表继承getType(),inheritance,jpa,eclipselink,single-table-inheritance,Inheritance,Jpa,Eclipselink,Single Table Inheritance,如何从父类检索类型参数以确定引用的是哪个子类。我有一个带有鉴别器的Person表的简单示例Student,Teacher..,我找不到type列的getter?数据库中有,但api中缺少。还有其他方法可以获取我引用的Person对象的类型吗?在理想情况下,您不必关心被引用的Person的类型,您应该只以多态方式访问它 如果您完全确定被引用的人不是代理,则只需使用instanceof操作符即可。或者,您可以修改person实体以提供鉴别器列的getter。或者您可以覆盖所有子类中的getType(

如何从父类检索类型参数以确定引用的是哪个子类。我有一个带有鉴别器的
Person
表的简单示例
Student,Teacher..
,我找不到
type
列的getter?数据库中有,但api中缺少。还有其他方法可以获取我引用的Person对象的类型吗?

在理想情况下,您不必关心被引用的Person的类型,您应该只以多态方式访问它


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

使用了您的第一个想法instanceof操作符。这条路走对了。