Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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
Java @执行select后,MappedSuperclass超类属性为空_Java_Hibernate_Jpa_Spring Mvc - Fatal编程技术网

Java @执行select后,MappedSuperclass超类属性为空

Java @执行select后,MappedSuperclass超类属性为空,java,hibernate,jpa,spring-mvc,Java,Hibernate,Jpa,Spring Mvc,我有以下情况: 我有一个超类,它有一个字符串属性“a”,还有一个子类@Entity,它从映射的超类扩展而来,还有另一个字符串属性B 我不需要做插入,我只需要选择表B 但是,当我查询B类时,hibernate会从B中加载所有属性,但是,映射的超类属性不会加载,因此,如果我执行B.getPropertyB()操作,它将包含正确的值,但是,如果执行B.getPropertyA()操作,它将始终返回null 这些类如下所示: @MappedSuperclass 公共抽象类BaseContributorE

我有以下情况:

我有一个超类,它有一个字符串属性“a”,还有一个子类@Entity,它从映射的超类扩展而来,还有另一个字符串属性B

我不需要做插入,我只需要选择表B

但是,当我查询B类时,hibernate会从B中加载所有属性,但是,映射的超类属性不会加载,因此,如果我执行B.getPropertyB()操作,它将包含正确的值,但是,如果执行B.getPropertyA()操作,它将始终返回null

这些类如下所示:

@MappedSuperclass
公共抽象类BaseContributorEntity扩展了BaseEntity实现{
私有字符串属性a;
@列(name=“Column_a”,长度=450)
公共字符串getPropertyA(){
归还财产a;
}
公共void setPropertyA(字符串值){
this.propertyA=值;
} 
}
@实体
@表(name=“工作\贡献者”)
公共类WorkContributorEntity扩展了BaseContributorEntity{
..其他属性,包括@id。。。。
私有字符串属性b;
@列(name=“Column_b”,长度=450)
公共字符串getPropertyB(){
返回属性b;
}
公共void setPropertyB(字符串值){
this.propertyB=值;
}
……其他二传手和后传手。。。。
}
有人知道为什么会这样吗

我应该重载映射的超类A的getter吗


我正在使用hibernate 3.6.3和JPA 2.0,我已经使用@MappedSuperclass很多年了,它工作得很好。您的代码示例是正确的。请仔细检查您的真实代码,应该是手动错误。

我已经使用@MappedSuperclass很多年了,它工作得很好。您的代码示例是正确的。请仔细检查您的真实代码,应该是手动错误。

我同意这一点。但是这不应该是一个注释吗?我更新了类名和注释,你看到了任何可能的错误吗?我查看了你的代码。这似乎是正确的。是否在BaseEntity类上添加@MappedSuperclass?如果你想映射它的属性,你应该这样做。您是否可以使用单元测试来创建WorkContributorEntity的实例,并填充propertyA(如果可行的话)。这意味着上面的O/R映射是正确的。我同意这一点。但是这不应该是一个注释吗?我更新了类名和注释,你看到了任何可能的错误吗?我查看了你的代码。这似乎是正确的。是否在BaseEntity类上添加@MappedSuperclass?如果你想映射它的属性,你应该这样做。您是否可以使用单元测试来创建WorkContributorEntity的实例,并填充propertyA(如果可行的话)。这意味着其上的O/R映射是正确的。