Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/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
Hibernate:更改子类的DiscriminatorValue会引发org.Hibernate.ErrorClassException_Hibernate_Jpa - Fatal编程技术网

Hibernate:更改子类的DiscriminatorValue会引发org.Hibernate.ErrorClassException

Hibernate:更改子类的DiscriminatorValue会引发org.Hibernate.ErrorClassException,hibernate,jpa,Hibernate,Jpa,我有A类和B类和C类。 我正在使用InheritanceType.SINGLE_表和一列type用作鉴别器列 之前,B类具有鉴别器Value1,C类具有鉴别器Value2。 我在表格中有大约100多个条目,所有条目都运行良好 现在,我又创建了A,D的一个子类,但我希望它有DiscriminatorValue1,所以我将B和C的DiscriminatorValues分别更改为2和4。 我还使用适当的值更新了数据库列类型 但现在,当我运行应用程序时,我遇到以下异常: org.hibernate.Wr

我有A类和B类和C类。 我正在使用InheritanceType.SINGLE_表和一列type用作鉴别器列

之前,B类具有鉴别器Value1,C类具有鉴别器Value2。 我在表格中有大约100多个条目,所有条目都运行良好

现在,我又创建了A,D的一个子类,但我希望它有DiscriminatorValue1,所以我将B和C的DiscriminatorValues分别更改为2和4。 我还使用适当的值更新了数据库列类型

但现在,当我运行应用程序时,我遇到以下异常:

org.hibernate.WrongClassException: Object with id: 9 was not of the 
specified subclass: com.example.D (Discriminator: 1)

有什么问题吗?

没关系。我解决了这个问题。persistence.xml文件中缺少类D的条目。现在,工作正常。

没关系。我解决了这个问题。persistence.xml文件中缺少类D的条目。现在,它工作正常。

在我的例子中,我向数据库添加了一些硬编码的值,并在插入查询中为鉴别器值编写了来宾

我的错误是,我注释了Guest类,将Guest小'g'作为鉴别器值,并使用Guest鉴别器值将Guest添加到数据库中

与以下几种可能的解决方案建立良好的链接:


我真的希望这能帮助一些人。

在我的例子中,我向数据库中添加了一些硬编码的值,并在插入查询中为鉴别器值编写了Guest

我的错误是,我注释了Guest类,将Guest小'g'作为鉴别器值,并使用Guest鉴别器值将Guest添加到数据库中

与以下几种可能的解决方案建立良好的链接:


我真的希望这能帮助别人。

谢谢!把我的时间浪费在这么多关于这个的其他帖子上,他们完全错过了这个简单的要点!非常感谢。把我的时间浪费在这么多关于这个的其他帖子上,他们完全错过了这个简单的要点!