Hallo !
Ich habe mal eher eine theoretische Frage an euch. Man sagt ja, dass man mit dem Einsatz von JPA die Datenbankebene abstrahieren und dadurch eine Datenbank als Backend komplett austauschen könnte (z.B. eine Oracle DB gegen einen MS SQL Server DB usw.), ohne das dadurch die Funktionalität meiner Anwendung gefährdet wäre. Ob das nun wirklich Sinn macht, sein mal dahingestellt.
Nun kann ich mit Oracle sogenanntes PL/SQL programmieren und dadurch bereits serverseitig über mehrere Tabellen Daten über komplexe Abfragekonstrukte schnell zusammensuchen und diese dann an die Geschäftslogik meiner Anwendung weiterreichen. Eine Oracle Datenbank bietet hier ja sehr sehr viele Möglichkeiten, die eben herstellerspezifisch sind und die der MS SQL Server im Gegenzug (wenn überhaupt) gar nicht oder völlig anders implementiert hat.
Selbst wenn ich hier mittels JPA Entitys die Datenbankzugriffe abstrahiere, so wäre hier doch ein schnelles Austauschen des Backends schon nicht mehr- oder nur mit Mehrausfwand machbar.
Jetzt könnte man ja argumentieren, dass man genau aus diesem Grund die datenbankspezifischen Implementieren gar nicht nutzen sollte, sondern die Datenbank nur aus Datencontainer ansieht. Nach meinem Verständnis würde man durch die JPA Entitys die Daten "hochgeben" und dann dort die Datenaufbereitungen machen oder? Aber ist das wirklich effizient? Mit der Datenbank wäre man doch hier bestimmt schneller?
Aber sehe ich es richtig, dass wenn man hier so vorgeht, man viele sinnvolle Features einer Datenbank gar nicht nutzt und auch möglichst nciht nutzen will? Also bloß keine Geschäftslogik datenbankseitig plazieren?
Danke und Gruß
Maik
Ich habe mal eher eine theoretische Frage an euch. Man sagt ja, dass man mit dem Einsatz von JPA die Datenbankebene abstrahieren und dadurch eine Datenbank als Backend komplett austauschen könnte (z.B. eine Oracle DB gegen einen MS SQL Server DB usw.), ohne das dadurch die Funktionalität meiner Anwendung gefährdet wäre. Ob das nun wirklich Sinn macht, sein mal dahingestellt.
Nun kann ich mit Oracle sogenanntes PL/SQL programmieren und dadurch bereits serverseitig über mehrere Tabellen Daten über komplexe Abfragekonstrukte schnell zusammensuchen und diese dann an die Geschäftslogik meiner Anwendung weiterreichen. Eine Oracle Datenbank bietet hier ja sehr sehr viele Möglichkeiten, die eben herstellerspezifisch sind und die der MS SQL Server im Gegenzug (wenn überhaupt) gar nicht oder völlig anders implementiert hat.
Selbst wenn ich hier mittels JPA Entitys die Datenbankzugriffe abstrahiere, so wäre hier doch ein schnelles Austauschen des Backends schon nicht mehr- oder nur mit Mehrausfwand machbar.
Jetzt könnte man ja argumentieren, dass man genau aus diesem Grund die datenbankspezifischen Implementieren gar nicht nutzen sollte, sondern die Datenbank nur aus Datencontainer ansieht. Nach meinem Verständnis würde man durch die JPA Entitys die Daten "hochgeben" und dann dort die Datenaufbereitungen machen oder? Aber ist das wirklich effizient? Mit der Datenbank wäre man doch hier bestimmt schneller?
Aber sehe ich es richtig, dass wenn man hier so vorgeht, man viele sinnvolle Features einer Datenbank gar nicht nutzt und auch möglichst nciht nutzen will? Also bloß keine Geschäftslogik datenbankseitig plazieren?
Danke und Gruß
Maik