Diverse Fragen zu ORM (Hibernate, JPA, etc.)

Status
Nicht offen für weitere Antworten.

-MacNuke-

Bekanntes Mitglied
Hallo Forum.

Ich bin gerade dabei ein neues Software-Projekt zu planen. Dies soll dann auf Java/Swing aufbauen und Datenbankzugriffe tätigen.

Ich habe mir vor einiger Zeit das Buch zu Hibernate gekauft und das auch gelesen. Das Beispiel aus dem Buch läuft bei mir auch bestens. Jedoch stellen sich mir da noch ein paar Fragen. Ich liste die mal einfach so auf. Würde mich freuen, wenn die jemand beantworten kann :)

1. - Erledigt Man kann ja direkt Hibernate nutzen, oder den Standard-Weg JPA. JPA hat einige Vorteile (automatisches Suchen von Tabellen-Klassen), aber auch Nachteile (direktes Hibernate soll schneller sein). Nun wollte ich fragen welches denn nun der "empfehlenswertere Weg" wäre? JPA oder direkt Hibernate?

2. -Erledigt Hibernate - mehrere Tabellen - ein JTable - Updates. Es geht darum, wenn ich jetzt z.B. eine Liste aller Artikel anzeigen möchte, dann will ich ja meist nicht nur alle Artikel anzeigen, sondern auch Informationen aus anderen Tabellen, wie z. B. der Lagerbestand. In einer anderen Ansicht will ich jetzt aber eher die Kalkulationsdaten zu dem Artikel sehen, in einer Artikel-Liste. Dies mal als Beispiel. Kann man mit Adressen, etc. fortsetzen.

Wie geht man bei so etwas generell vor? Jede mögliche One-To-One Kombination in die Artikel.java zu schreiben, wäre etwas zu "naja"... aufwändig und schlecht, denke ich mal. Weil dann hab ich nachher rund 100 One-To-One Beziehungen da stehen.

Jetzt kann man ja eine HQL-Query machen, aber im Buch habe ich bisher kein Beispiel gefunden (überlesen?), welches 2 oder mehr Tabellen damit abfragt. Nur Mapping-Beispiele.
Wie sieht so etwas aus? Klappt da das überhaupt noch mit automatischer "UPDATE"-Generierung über Getter/Setter, wenn jetzt jemand in der JTabele einen Wert ändert? Oder geht man da ganz anders heran?

3. - Erledigt Drucken... hat jetzt zwar nichts direkt mit ORM zu tun, aber das ist auch ein wichtiger Punkt. Ich will natürlich nicht für jeden Ausdruck, den ein Kunde vllt. mal irgendwann haben will, Code schreiben. Ich habe mir mal kurz JasperReports angeguckt und das sieht auch ganz gut aus. Aber kann man das auch mit Hibernate bzw. JPA koppeln? Es geht mir darum, dass ich nur SQL-Befehle gefunden habe, zur Eingabe, was natürlich wieder den Vorteil der relativen Datenbankunabhängigkeit von Hibernate etwas anschlagen würde.

Gibt's da schon irgendwas, oder müsste ich mir da selbst was überlegen und die Abfrage selbst einbauen und JasperReports (oder einem anderen Report-Tool) die Ergebnis-Daten rüber schieben?




Das sind erst mal meine 3 dringendsten Fragen :)

Vielen Danke für eure Antworten im Voraus :)
 

byte

Top Contributor
zu 1.) JPA ist die Spezifikation, Hibernate eine Implementierung dieser. Wenn Du nur auf der Spezifikation arbeitest, kannst Du die Implementierung theoretisch später austauschen, in der Praxis ist das aber wohl eher selten der Fall. Deine Frage ist etwas unglücklich formuliert. Es gibt keine Vorteile zw. JPA (Spezifikation) und Hibernate (Implementierung). Mein Rat: Halte Dich so lange es geht an die JPA, scheue im Zweifel aber nicht, Hibernate-Erweiterungen zu verwenden, wenn Du damit Dein Ziel besser erreichst.
Hibernate ist sowieso die Referenzimplementierung von JPA, weil JPA erst aus Hibernate entstanden ist. ;) Du wirst mit ziemlicher Sicherheit die ORM-Implementierung nie wechseln.
 

foobar

Top Contributor
Zu 3.) Du kannst Hibernate in JasperReports verwenden. Man kann die Hibernatesession einem Report übergeben und dann ganz normal damit Queries absetzen. Alternativ kannst du aber auch einfache Pojos von der Businesslogic-Tier generieren lassen und diese einfach mit JasperReports darstellen.
 

-MacNuke-

Bekanntes Mitglied
Ah Danke. Dann muss ich den Punkt mit der Übergabe der Hibernate-Session noch mal angucken, bzw. suchen. :)

Jetzt noch die 2. Frage.... :D
 

foobar

Top Contributor
Zu 2.) Hm, ich verstehe die Frage nicht ganz. Die Vorgehensweise ist normalerweise folgende. Du erstellst ein Domainmodel das deine Geschäftslogik bzw. die Relationen der Entitäten wie Artikel, Kunden, Bestellungen etc. abbildet. In den Pojos definierst du dann in welcher Relation die ganzen Klassen zueinander stehen.
Das hat aber erstmal nichts mit irgendwelchen HQL-Queries zu tun. Wenn du eine HQL-Query absetzt kümmert sich Hibernate um das Mapping des ResultSets zu deinen Klassen(Domainmodel).

Weil dann hab ich nachher rund 100 One-To-One Beziehungen da stehen.
100 One-To-One in einer Pojo? Das würde mich auch stutzig machen.

Vielleicht suchst du ja auch sowas wie die Report Queries.
http://rongou.blogspot.com/2005/08/hibernate-report-query.html

Zu Hibernate + Jasperreports habe ich noch das hier gefunden:
http://www.javalobby.org/articles/hibernatequery103/
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Diverse JDBC Probleme (inner join, rs.last(), update) Datenbankprogrammierung 2
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
J Anfänger Fragen zu JPA 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
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
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
K JPA / Hibernate Annotations Datenbankprogrammierung 4
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

Ähnliche Java Themen

Neue Themen


Oben