Hallo,
ist es empfehlenswert die JPA-Unterstützung von Spring zu verwenden?
Ein Vorteil von Springs Abstraktion von verschiedenen Persistenztechnologien ist deren Austauschbarkeit, aber das JPA auch schon eine Schnittstelle ist, hinter der man verschiedene Techniken einsetzen kann, verliert dieses Argument an Gewicht. Wenn man es braucht, kann mit JPA auch direkt SQL verwenden, so dass man im Zweifelsfall nicht mal auf JDBC zurückgreifen bräuchte.
Nach meinen Recherchen scheint der Wechsel von einer selbstverwalteten Umgebung (Java SE) zu einer vom Container verwalteten Persistenz-Umgebung mit Spring einfacher zu sein. Aber macht das wirklich so einen Unterschied?
Spring kann auch von einem spezifischen Transaktionsmechanismus abstrahieren. Aber braucht man das wirklich? Spricht etwas dagegen, sich auf JPA-Transaktionen festzulegen? Wenn man deklarative Transaktionen haben will, kann man ja mit (Springs) AOP auch so ohne Springs JPA-Unterstützung JPA-Transaktionen nutzen, oder?
Ich werde Spring wahrscheinlich für Dependency Injection und wohl auch AOP einsetzen, aber mir scheint Springs Abstraktion von JPA (was auch schon eine Abstraktion ist) im Wesentlichen unnötige Komplexität und Konfiguration zu bringen. Aber da ich damit noch keine Erfahrung gesammelt habe, möchte ich eure Erfahrungen lesen!
ist es empfehlenswert die JPA-Unterstützung von Spring zu verwenden?
Ein Vorteil von Springs Abstraktion von verschiedenen Persistenztechnologien ist deren Austauschbarkeit, aber das JPA auch schon eine Schnittstelle ist, hinter der man verschiedene Techniken einsetzen kann, verliert dieses Argument an Gewicht. Wenn man es braucht, kann mit JPA auch direkt SQL verwenden, so dass man im Zweifelsfall nicht mal auf JDBC zurückgreifen bräuchte.
Nach meinen Recherchen scheint der Wechsel von einer selbstverwalteten Umgebung (Java SE) zu einer vom Container verwalteten Persistenz-Umgebung mit Spring einfacher zu sein. Aber macht das wirklich so einen Unterschied?
Spring kann auch von einem spezifischen Transaktionsmechanismus abstrahieren. Aber braucht man das wirklich? Spricht etwas dagegen, sich auf JPA-Transaktionen festzulegen? Wenn man deklarative Transaktionen haben will, kann man ja mit (Springs) AOP auch so ohne Springs JPA-Unterstützung JPA-Transaktionen nutzen, oder?
Ich werde Spring wahrscheinlich für Dependency Injection und wohl auch AOP einsetzen, aber mir scheint Springs Abstraktion von JPA (was auch schon eine Abstraktion ist) im Wesentlichen unnötige Komplexität und Konfiguration zu bringen. Aber da ich damit noch keine Erfahrung gesammelt habe, möchte ich eure Erfahrungen lesen!