Hibernate:更改子类的DiscriminatorValue会引发org.Hibernate.ErrorClassException
我有A类和B类和C类。 我正在使用InheritanceType.SINGLE_表和一列type用作鉴别器列 之前,B类具有鉴别器Value1,C类具有鉴别器Value2。 我在表格中有大约100多个条目,所有条目都运行良好 现在,我又创建了A,D的一个子类,但我希望它有DiscriminatorValue1,所以我将B和C的DiscriminatorValues分别更改为2和4。 我还使用适当的值更新了数据库列类型 但现在,当我运行应用程序时,我遇到以下异常: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
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添加到数据库中 与以下几种可能的解决方案建立良好的链接:
我真的希望这能帮助别人。谢谢!把我的时间浪费在这么多关于这个的其他帖子上,他们完全错过了这个简单的要点!非常感谢。把我的时间浪费在这么多关于这个的其他帖子上,他们完全错过了这个简单的要点!