-1

コードを JPA に更新していますが、ディスクリミネーターを使用するとエラーが発生します

@Entity
@DiscriminatorValue("3")
public class WidgetContainer extends Square {
   ...
}

Square.java

@Entity
@Table(name = "square")
@DiscriminatorColumn(name = "squareType", discriminatorType = DiscriminatorType.INTEGER)
@DiscriminatorValue("0")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class Square implements Indexable, Serializable{
   ...
}

このエラーが発生します

org.hibernate.WrongClassException: Object with id: 1 was not of the specified subclass: sym.domain.Square (Discriminator: 3)
4

2 に答える 2

1

この注釈を追加することで解決された同様の問題がありました。

@DiscriminatorOptions(force=true)

継承構造のルート(あなたの場合はSquare)に。これを達成するための純粋なJPAの方法があるかどうかはわかりません。

DiscriminatorOptions の Java API

于 2013-11-06T12:44:16.710 に答える