Object with id: was not of the specified subclass
Dieser Fehler tritt auf, wenn man bei Hibernate Vererbung mappt. Man muss Hibernate dazu zwingen, in der WHERE-Klausel eine Bedingung auf die Diskriminator-Spalte zu setzen. Und dies soll am besten so geschehen, dass alle Unterklassen eingeschlossen werden, also auch solche, die später noch hinzukommen.
Dies lässt dich folgendermaßen erreichen:
1. Mapping-Datei (.hbm.xml):
Hier muss in der Mapping-Datei der Diskriminator um ein attribut erweitert werden.
<discriminator column="..." force="true" />
2. Annotations:
Benutzen Sie die Annotation: @org.hibernate.annotations.ForceDiscriminator
Da ich in meiner Anwendung Mapping-Dateien verwendet habe, habe ich mit dieser Annotation noch nicht gearbeitet und kann keine genaueren Erfahrungen mitteilen. Ich werde es in nächster Zeit ausprobieren und diesen Artikel bei Bedarf erweitern.
Dies lässt dich folgendermaßen erreichen:
1. Mapping-Datei (.hbm.xml):
Hier muss in der Mapping-Datei der Diskriminator um ein attribut erweitert werden.
<discriminator column="..." force="true" />
2. Annotations:
Benutzen Sie die Annotation: @org.hibernate.annotations.ForceDiscriminator
Da ich in meiner Anwendung Mapping-Dateien verwendet habe, habe ich mit dieser Annotation noch nicht gearbeitet und kann keine genaueren Erfahrungen mitteilen. Ich werde es in nächster Zeit ausprobieren und diesen Artikel bei Bedarf erweitern.
Werbung