JPA / Hibernate Annotations

klara

Mitglied
Guten Morgen,

Gleich vorweg, ich bin gerade dabei mich in JPA / Hibernate einzuarbeiten.

Ich möchte ein bestehendes Java-Programm erweitern und die Daten persistent abspeichern. Die einzelnen Klassen die ich persistent abspeichern möchte, wollte ich nicht antasten bzw. diese enthalten auch sehr viel Logik. Somit dachte ich mir, dass vernünftigste ist es, eine neue Klasssen zu definieren die nur die entsprechenden Properties enthalten. Die Werte der Properties würde ich dann den eigentlichen Klassen übergeben.

Ist dies der richtige Ansazt oder soll ich die bestehenden Klassen antasten?

Bei meinem Ansatz taucht aber nun folgendes Problem auf.

In dem Buch Java Persistence with Hibernate haben die so ein ähnliches Problem:
Es gibt eine abstrakte Klasse BillingDetails von der zwei weitere Klassen CreditCard und BankAccount abgeleitet sind.
In diesem Buch haben sie dies mit @MappedSuperclass gelöst.

Das Problem ist, da ich nicht mit den eigentlichen Klassen arbeite, müsste ich mit Reflections arbeiten und falls es eine CreditCard ist die entsprechende Klasse CreditCard laden.

Gibt es da eine andere Lösung?

Ich hoffe ich war nicht zu konfus. Falls es doch der Fall war, bitte nochmals nachfragen. Ich hab derzeit wirklich keinen Plan wie ich dies vernünftig löse. :noe:

Danke im Voraus
Klara
 

Ullenboom

Bekanntes Mitglied
Es ist sonst noch möglich weiterhin deklarativ die Mapping-Details in einer XML-Datei abzubilden. Jetzt wo es Annotationen gibt, haben wir schon verlernt, dass es auch noch anders geht :)
Wenn du diesen Weg gehen möchtest, Google mal nach "JPA XML orm.xml".
 

klara

Mitglied
Hallo Ullenboom,

danke für deine Antwort. Ich habe mir jetzt etwas orm.xml angeschaut.
Auch wenn ich statt Annotationen die orm.xml verwenden würde, müsste ich die bestehenden Klassen ändern (setter alle public machen, leeren Konstruktor einfügen...).

@Nachtrag: Bzw. auch final Variablen werden verwendet.

Jetzt bin ich mir nicht ganz im Klaren, was vernünftiger ist. Soll ich die bestehenden Klassen abändern oder meinen Ansatz weiterfolgen?

Nur wie löse ich dann das Problem mit der Klasse als Übergabeparameter am vernünftigsten. :noe:

Danke Klara
 
Zuletzt bearbeitet:

Ullenboom

Bekanntes Mitglied
JPA kann (wie auch JAXB) entweder die Werte aus den Attributen nehmen oder eben aus den Bean-Setter/Gettern. Siehe Access (Java EE 6 ). Das wäre nicht das Problem. Ohne einen Default-Constructor kommst du aber nicht hin. Daher wäre ein Delegete-Wrapper vielleicht ganz gut.

@Entity
public class EntityDelegate {
private MyEntityICantChange stupidEntityICantChange;

public EntityDelegate() {
stupidEntityICantChange = new ... und initialisieren
}

public int getMyStuff() {
return stupidEntityICantChange.getStuff();
}

Setter auch noch.
}

Hier kann dann JPA auf die Setter/Getter dran.

Wenn MyEntityICantChange Unterobjekte erzeugt wird das nur noch komplizierter. Daher würde ich vielleicht komplett auf die existierenden Klassen verzichten, und die JPA-Klassen komplett neu modellieren. Für die Business-Logik kann man dann die alten Beans aufbauen und dann an diese delegieren.
 

klara

Mitglied
Hallo Ullenboom,

herzlichen Dank für deine Antwort. Ich werde deinem Ratschlag folgen und die JPA-Klassen neu modulieren.

Danke für deine Hilfe.

Klara
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D org.hibernate.MappingException: Unknown entity mit Annotations Datenbankprogrammierung 9
G [Hibernate] Map von Dates Mapping mit Annotations Datenbankprogrammierung 6
torresbig MySQL hibernate - could not resolve entity class ... (Datenbank Anfänger) Datenbankprogrammierung 19
I Hibernate Predicate mit IN Clause "Unaware how to convert value to requested type" Datenbankprogrammierung 0
T org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ..., could not initialize proxy - no Session Datenbankprogrammierung 5
T Realisierungsvorschläge Hibernate SQL Datenbankprogrammierung 1
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
Zrebna Tabellen-Erzeugung via Hibernate ignoriert 'CascadeType' settings Datenbankprogrammierung 1
I Hibernate / JPA - Spaltenname von Query (Select) bekommen Datenbankprogrammierung 6
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
damike84 Hibernate: persistieren eines Graphen Datenbankprogrammierung 2
N Hibernate Entitäten bei Selects aus 2 Tabellen Datenbankprogrammierung 7
OnDemand Hibernate Realationen Datenbankprogrammierung 7
OnDemand Hibernate ManyToOne Datenbankprogrammierung 5
D Hibernate oneToMany Syntaxfehler Datenbankprogrammierung 3
D Hibernate Error: NoSuchMethodError Datenbankprogrammierung 4
D hibernate mit postgreSQL Datenbankprogrammierung 3
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
F Problem mit Hibernate c3p0 Datenbankprogrammierung 2
OnDemand MySQL Trigger löst nicht aus bei Hibernate Update Datenbankprogrammierung 12
OnDemand Hibernate OneToMany ManyToOne Datenbankprogrammierung 61
J Hibernate One-To-One mit Where Klausel Datenbankprogrammierung 6
L hibernate.cfg.xml Could not parse configuration Datenbankprogrammierung 0
L H2 Hibernate definieren? Datenbankprogrammierung 1
T JPA Mapping Enum (hibernate 5) Datenbankprogrammierung 1
H In hibernate.cfg.xml schreiben und auslesen Datenbankprogrammierung 0
K Hibernate: Ein Fluch Datenbankprogrammierung 3
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
K Eclipse: JBoss Hibernate Tool: Kein Zugriff auf Datenbank Datenbankprogrammierung 5
S JpaRepositories & Hibernate: ungewolltes trim() in findBy Datenbankprogrammierung 7
S MySQL hibernate exception: illegal state exception : entityManagerFactory is closed Datenbankprogrammierung 5
S Hibernate: Verschiedene Klassen zurückgeben. Datenbankprogrammierung 2
looparda Architektur für JPA Hibernate Umstieg Datenbankprogrammierung 14
O HSQLDB Hibernate Criteria Problem Datenbankprogrammierung 3
perlenfischer1984 Hibernate mit final members Datenbankprogrammierung 3
perlenfischer1984 Java Objecte speichern mit Hibernate ? Datenbankprogrammierung 2
N SQLite Hibernate und Aufruf von Funktion SELECT last_insert_rowid() Datenbankprogrammierung 2
N Sqlite3 und Hibernate Datenbankprogrammierung 3
A Hibernate Cache leeren Datenbankprogrammierung 4
I MySQL Hibernate zu viele Queries Datenbankprogrammierung 2
Psypsy Hibernate / JPA erkennen von schon gespeicherten Objekten Datenbankprogrammierung 4
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
J Hibernate + DTOs - DTOs in DAOs verwenden? Datenbankprogrammierung 1
S Hibernate-Konfiguration : Unverständliche Ausgabe beim Ausführen Datenbankprogrammierung 0
I MySQL Hibernate / MySQL alias in WHERE clause Datenbankprogrammierung 1
J Hibernate + HSQL embedded Datenbankprogrammierung 2
P Hibernate Einstieg Datenbankprogrammierung 5
C Hibernate und createQuery Datenbankprogrammierung 2
V kennt jemand empfehlenswerte online tutorials zur Hibernate ? gerne auch englisch. Datenbankprogrammierung 4
G H2 Hibernate - wie joins machen Datenbankprogrammierung 1
D Hibernate: Zustand eines Objekts erkennen? Datenbankprogrammierung 0
D Unterschiede Hibernate Vs. Java Persistence API Datenbankprogrammierung 8
I Hibernate / JPA Index hinzufügen Datenbankprogrammierung 1
X Hibernate Cache Verständnisproblem Datenbankprogrammierung 0
T Hibernate und inner class Datenbankprogrammierung 0
K n:m Tabellen mit Hibernate erstellen Datenbankprogrammierung 1
T Hibernate DAO gute Tutorials/Bücher gesucht Datenbankprogrammierung 0
C Hibernate: could not resolve property Datenbankprogrammierung 1
J Plug-In-Framework für Hibernate-Klassen Datenbankprogrammierung 0
M Hibernate - Save Child wenn nötig Datenbankprogrammierung 10
M DAO's + Hibernate Theorie Datenbankprogrammierung 4
T Hibernate, HSQLDB und UNIQUE Datenbankprogrammierung 2
F Hibernate - verschiedene Schemen Datenbankprogrammierung 7
D Hibernate SaveOrUpdate Exception Datenbankprogrammierung 2
D Hibernate CreateQuery ohne Result Datenbankprogrammierung 7
E MySQL Hibernate mit JaxWS führt zu LazyInitialization Exception Datenbankprogrammierung 8
L Einarbeitung in Hibernate -> wenn gute SQL Kenntnisse vorhanden? Datenbankprogrammierung 2
B DB2 Hibernate findet Datenbank nicht Datenbankprogrammierung 18
M JPA / Hibernate mit Postgres DB Datenbankprogrammierung 3
P JSF + H2 + TomEE + Hibernate/JPA Datenbank wird nicht angelegt Datenbankprogrammierung 3
E MySQL Hibernate ( Anfänger ) Datenbankprogrammierung 3
P Lazy-Fetchig und Session-Problem mit Hibernate Datenbankprogrammierung 4
J Hibernate Select auf Parameterliste Datenbankprogrammierung 3
C Hibernate ManyToMany zusammengesetzter Primärschlüssel, problem. Datenbankprogrammierung 3
P Oracle Hibernate - Oracle-VarChar-Index wird nicht genutzt Datenbankprogrammierung 3
M Hibernate Foreign Key definieren Datenbankprogrammierung 4
M Abstrakte Klassen Hibernate Datenbankprogrammierung 4
D Mit Hibernate (mit Annotation) auf Views zugreifen Datenbankprogrammierung 2
M [Hibernate]Abgleich eines lokalen Objekts mit dem Zustand aus der Datenbank. Datenbankprogrammierung 3
P Mit Hibernate mehrere Datensätze löschen Datenbankprogrammierung 7
P Probleme mit meinem 1. Hibernate Beispiel Datenbankprogrammierung 3
P erste Schritte mit Hibernate Datenbankprogrammierung 3
V Hibernate Interfaces von anderem Projekt Datenbankprogrammierung 2
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
B Hibernate und portierbare Datenbank Datenbankprogrammierung 3
qwerqer [Hibernate] Mappingvarianten Datenbankprogrammierung 2
lumo Teneo Hibernate & JPA Datenbankprogrammierung 15
Z JPA mit Hibernate - Unable to build EntityManagerFactory Datenbankprogrammierung 7
Dit_ Hibernate, effiziente SQL-Abfrage definieren Datenbankprogrammierung 5
K Hibernate vs. JDBC Datenbankprogrammierung 4
J Hibernate Info 593 ? Datenbankprogrammierung 4
J Erstellen der SessionFactory in Hibernate 4.1 Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
X MySQL Hibernate: Massenupdate auf unbekannte Tabelle Datenbankprogrammierung 4
N hibernate: datasource Datenbankprogrammierung 7
H MySQL Hibernate: Updaten vereinfachen Datenbankprogrammierung 2
T Hibernate Division zweier Summen Datenbankprogrammierung 4
B MySQL Fehler: Cannot open connection mit Tomcat7, Hibernate und MySQL Datenbankprogrammierung 4
F GWT und Hibernate - gwt.dev.Compler not found Datenbankprogrammierung 3
M NestedTransaction- Exception in Hibernate Datenbankprogrammierung 15

Ähnliche Java Themen

Neue Themen


Oben