Object with id: was not of the specified subclass

Veröffentlicht auf von Christopher Olbertz

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.
Werbung

Veröffentlicht in Hibernate

Um über die neuesten Artikel informiert zu werden, abonnieren:
Kommentiere diesen Post