Fragestellungen
Themen, die im Zusammenspiel Java-Datenbank gelöst werden müssen sind
- Granularität – Klassen als Typen (Adressen oder adr_street in User-Tabelle)
- Vererbung – Polymorphismus und abgeleitete Klassen
- Identität – Primärschlüssel sind nicht unbedingt Objektidentitäten („equals of value“)
- Assoziationen – SQL bietet Projektion und Join, bietet also ein offenes Datenmodell. Java ist gerichtet. Insbesondere n:m-Beziehungen werden in Datenbanken nur per JOIN-TABLE aufgelöst.
- Objektnavigation – Java nutzt Iteratoren („walk through Network“, SQL dagegen Mengen (SELECT)
Vorteile
- Erhöhung der Produktivität – Basis-SQLs fallen weg
- Lesbarer Code – Kein SQL im Code
- Performance – Caching und Optimierung der Statements
- Hersteller-Unabhängigkeit – Standard ist Abbildung auf beliebige Datenbank
Standardisierung
- Metadaten – Connections usw.
- CRUD – Standard-SQL
- Queries – JPQL
- Transactions – Transaktionsverhalten