サブクラスBおよびCを持つクラスAがあります。
私はInheritanceType.SINGLE_TABLEを使用しており、1 つの列typeが DiscriminatorColumn として使用されています。
以前は、クラスBにはDiscriminatorValue("1")があり、クラスCにはDiscriminatorValue("2")があります。テーブルには 100 以上のエントリがあり、すべて正常に機能していました。
ここで、 A、Dのサブクラスをもう 1 つ作成しました。しかし、 DiscriminatorValue("1")を持たせたかったので、 BとCの DiscriminatorValues をそれぞれ 2 と 4 に変更しました。
また、データベースの列の型を適切な値で更新しました。
しかし、アプリケーションを実行すると、次の例外が発生します。
org.hibernate.WrongClassException: Object with id: 9 was not of the
specified subclass: com.example.D (Discriminator: 1)
問題は何でしょうか?