JPA Extended Entity persistent machen

Flashbaer

Mitglied
Hallo,

ich habe eine Klasse X, die eine Entity E extended. Nun möchte ich das Object der Klasse X persistent machen.
Der Persistence Manager meckert jetzt aber: X is not a known entity type.

Casten bringt in diesem Fall ja nichts.

Kann ich das Objekt der Klasse X irgendwie in ein Objekt der Klasse E umwandeln oder dem Entity Manager sagen er soll die Klasse E hernehmen?

Viele Grüße
Flashbaer
 
S

Sym

Gast
JPA selbst sagt, dass eine Klasse mit @Entity annotiert sein muss, damit diese persistiert werden kann.

Ich könnte mir jedoch vorstellen, dass casten funktioniert. Hast Du das explizit versucht?

Ansonsten die erbende Klasse Annotieren. Dort die entsprechende Tabelle von E angeben und die zusätzlichen Felder als transient markieren.

Mir ist jedoch nicht klar, warum Du das so machen möchtest. So ohne weitere Informationen liest sich das nicht sehr sauber.
 

Flashbaer

Mitglied
@Fant
wenn ich Caste bringt das insofern nichts, da der Entity Manager selbst nach der Klasse des übergebenen Objekts sucht.

Wenn ich dem EntityManager (E)X übergebe, dann meckert er trotzdem, dass X nicht persistent gemacht werden kann, da sich die Klasse ja nicht ändert.

Gibt es denn keinen Weg außer X in die Persistenz mit aufzunehmen? Ich würde das gerne verhindern, da hier Daten nur temporär gespeichert werden die ich nicht in der Datenbank haben möchte...
 

Flashbaer

Mitglied
Ich stehe wohl gerade auf dem Schlauch...
Wie genau soll das gehen?

---

Edit:
Ok Schlauch ist geplatzt :)
Ich werde es dann wohl so machen wie du sagst, danke vielmals!
 
Zuletzt bearbeitet:
S

Sym

Gast
Entweder per Hand einfach ein new E() und dann alle Felder kopieren oder etwas wie Dozer verwenden.
 

Ähnliche Java Themen

Neue Themen


Oben