JPA Extended Entity persistent machen

Diskutiere Extended Entity persistent machen im Application Tier Forum; 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...

  1. Flashbaer
    Flashbaer Neues 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
     
  2. Vielleicht hilft dir das kostenlose Training weiter --> (hier klicken)
  3. Sym
    Sym Guest
    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.
     
  4. Fant
    Fant Neues Mitglied
    Wieso klappt casten nicht? Du sagst das so selbstverständlich ... und ich kann hier gerade leider nicht testen ^.^

    Oder willst du die zusätzlichen Informationen von X ebenfalls persistieren? Dann kannst du z.B. mal hier nach Möglichkeiten schauen: Java Persistence/Inheritance - Wikibooks, open books for an open world

    Sonst kann man natürlich noch eine neue E-Instanz mit den passenden Werten erstellen und diese dann persistieren...
     
  5. tfa
    tfa Aktives Mitglied
    Muss X vielleicht noch in die persistence.xml eingetragen werden?
     
  6. Flashbaer
    Flashbaer Neues 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...
     
  7. Sym
    Sym Guest
    Du könntest das Objekt einfach in eine eine Instanz der Entität mappen.
     
  8. Flashbaer
    Flashbaer Neues 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: 1. Okt. 2012
  9. Sym
    Sym Guest
    Entweder per Hand einfach ein new E() und dann alle Felder kopieren oder etwas wie Dozer verwenden.
     
  10. Schau dir jetzt hier den Kurs an und lerne Java zu programmieren: --> Hier klicken, um mehr zu erfahren (Klick)
Die Seite wird geladen...

Extended Entity persistent machen - Ähnliche Themen

extended Swing Table
extended Swing Table im Forum AWT, Swing, JavaFX & SWT
Klasse die extended als Thread implementieren?
Klasse die extended als Thread implementieren? im Forum Hausaufgaben
rich:extendedDataTable in rich:panel ist gestaucht
rich:extendedDataTable in rich:panel ist gestaucht im Forum Web Tier
rich:extendedDataTable hat eine Spalte zuviel
rich:extendedDataTable hat eine Spalte zuviel im Forum Web Tier
eigene Klasse die JButton extended - als Liste!
eigene Klasse die JButton extended - als Liste! im Forum Allgemeine Java-Themen
Thema: Extended Entity persistent machen