Anfänger Fragen zu JPA

JPT

Mitglied
Hallo,

ich möchte vermeiden, zu jeder Entity SQL-Code zu schreiben. Deshalb möchte ich lernen mit JPA umzugehen. Dazu erst mal ein paar Fragen. (ich habe schon drei Tage recherchiert und ausprobiert, aber Information zu Zusammenhängen oder Vergleichen zu bekommen ist immer relativ schwierig)

- Wenn ich eine beliebige JPA-Implementierung verwende, muss ich zumindest in den CRUD-Standardfällen garkeinen weiteren Code schreiben, ausser dem Mapping?

- Welche JPA-Implementierung sollte ich verwenden? (ich versuchs zZ mit Hibernate, weil ich mich damit im Non-JPA-Modus schon auskenne)

- Wie sieht die Architektur im Umfeld von JPA aus?

- Unterscheided sich die Konfiguration von Hibernate mit und ohne JPA?

- Wie genau bezieht zb Hibernate im JPA-Modus seine "Informationen"?
Also Zusammenhang zwischen Annotations, persistence.xml, hibernate.cfg, hibernate.mapping usw.

Schon mal vielen Dank.

Wenn ich das Projekt am Laufen habe, werd ich mal ein kleines Tutorial/Beispielprojekt erstellen.

Jan
 

schulhaus

Mitglied
- Wenn ich eine beliebige JPA-Implementierung verwende, muss ich zumindest in den CRUD-Standardfällen garkeinen weiteren Code schreiben, ausser dem Mapping?
Der EntityManager muss noch angewiesen werden zu tun, was er tun soll. z.B ein Objekt zu persistieren oder eines zu suchen.
Für andere Aufgaben gibt es mehrere Möglichkeiten die Datenbank anzuweisen. Es gibt einen CriteriaBuilder, mit dem du dir die einzelnen Queries zusammenstückeln kannst. Zudem gibt es die Möglichkeiten von Named oder Native-Queries. Gewisse Dinge wie Sortierungen können auch über Annotations bewirkt werden.

Codebeispiele:
JPA 2.0 Criteria API How To | techscouting through the news
Named QueryJPAJava
Native QueryJPAJava
Use OrderBy Clause : EJB Query LanguageJPAJava

- Welche JPA-Implementierung sollte ich verwenden? (ich versuchs zZ mit Hibernate, weil ich mich damit im Non-JPA-Modus schon auskenne)
Bisher habe ich ziemlich gute Erfahrungen mit OpenJPA gemacht.

- Wie sieht die Architektur im Umfeld von JPA aus?
So wie du sie wählst.
 

JPT

Mitglied
Der EntityManager muss noch angewiesen werden zu tun, was er tun soll. z.B ein Objekt zu persistieren oder eines zu suchen.
*patsch* klingt selbstverständlich, trotzdem gut, dass du es erwähnt hast. Erspart mir das Rätseln... :)

Naja, ich habe mir die Antwort etwas anders vorgestellt. ^^ Vielleicht habe ich die Frage falsch formuliert.
Ich versuche mal zu beschreiben, was ich bisher verstanden habe:

Enities werden mit Annotations versehen. Die JPA-Implementierung liest aus den Annotations, wie diese Objekte gespeichert werden sollen. Der EntityManager ist die Schnittstelle zum Laden und Speichern (usw) dieser Objekte.
Mir fehlt hier aber noch ein bisschen Wissen über das, was im Hintergrund abläuft... Oder am anderen Ende... ???:L Weil ich da ja noch dies und das Konfigurieren und Anstossen muss, beim Build...
Ich denke, das ist zum Teil implementierungsspezifisch...
 

schulhaus

Mitglied
Die Persistence muss noch konfiguriert werden. Dies geschieht im File "persistence.xml". Weiter müssen sich die verwendeten Bibliotheken im Build Path befinden.

Erst kürzlich hatte ich ein Problem mit JPA und habe dazu ein komplettes ziemlich simples Projekt erstellt. Da wird OpenJPA mit einer Derby-Datenbank verwendet. Die Bibliotheken für die beiden sind vorhanden.

Du findest das Eclipseprojekt in diesem Post.
http://www.java-forum.org/datenbankprogrammierung/113226-openjpa-onetomany-probleme.html#post727880
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
torresbig MySQL hibernate - could not resolve entity class ... (Datenbank Anfänger) Datenbankprogrammierung 19
O PL/SQL Anfänger Datenbankprogrammierung 5
dat_vin Der Anfänger und das AbstractTableModel Datenbankprogrammierung 12
E MySQL Hibernate ( Anfänger ) Datenbankprogrammierung 3
N Hibernate-Anfänger Datenbankprogrammierung 14
I Anfänger-Tutorial für Hibernate gesucht Datenbankprogrammierung 3
S MySQL EclipseLink Anfänger Datenbankprogrammierung 3
D MySql Tabelle mit MySQLAdministrator (Anfänger) Datenbankprogrammierung 5
L DatenBank Anfänger Datenbankprogrammierung 19
H Dateiverwaltung mit mySQL ( mySQL Anfänger ) Datenbankprogrammierung 4
-horn- [Anfänger] Ein einfaches Beispiel für Abfrage von MxSQL? Datenbankprogrammierung 8
M [Anfänger] Hibernate-Einstieg Datenbankprogrammierung 12
E Anfänger: Verbindung zu OracleDB Datenbankprogrammierung 12
S JDBC-Anfänger und Probleme beim Treiberfinden etc. Datenbankprogrammierung 4
G Anfänger: Welche Datenbank ist sinnvoll? Datenbankprogrammierung 11
M MongoDb Versändnis Fragen: ( multiserver, morphia/morphium ) Datenbankprogrammierung 0
D MySQL Grundsätzliche Fragen zu MySQL Datenbankprogrammierung 3
D Allgemeine Fragen Datenbankprogrammierung 2
J Datenbank für Fragen/ Antworten Datenbankprogrammierung 7
C MySQL Fragen zu BLOB zu byte[], Date zu java.util.Date uvm. Datenbankprogrammierung 6
E MySQL 2 Fragen zur Syntax von SQL-Abfragen Datenbankprogrammierung 8
S Fragen zur DB-Programmierung Datenbankprogrammierung 6
W Fragen zu Datenbanksystemen Datenbankprogrammierung 10
S Allgemeine Fragen zu Hibernate Datenbankprogrammierung 2
P Noch drei Fragen zu JPA Datenbankprogrammierung 5
M komplettNoob-Fragen: MySQL mit NetBeans nutzen Datenbankprogrammierung 13
-MacNuke- Diverse Fragen zu ORM (Hibernate, JPA, etc.) Datenbankprogrammierung 6
W Zwei Fragen über JDBC und MySQL Datenbankprogrammierung 2
S MySQL - ein paar Fragen ;) Datenbankprogrammierung 11
A Weitere Fragen zu hsqldb Datenbankprogrammierung 6
G Ein paar Fragen zur DB-Programmierung Datenbankprogrammierung 18
G 2 fragen zu java <-> mysql Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben