Ich bin gerade ein wenig am Lesen über JPA und jetzt hänge ich an ein paar Widersprüchlichkeiten und Fragen zur optimalen Nutzung.
Also zum ersten der Unterschied zwischen EntityManagerFactory und EntityManager. Ich verwende EntityMangaerFactories (für drei Datenquellen), das heißt ich muss die Persistenzeinheit nur einmal benennen und dann hole ich mir vom richtigen Factory einen EntityManager und arbeite dann mit dem. Den hole ich nicht einmal pro Klasse sondern einmal pro Methode. Soweit ich mich erinnern kann hat das ein Problem mit redundanten Servern, die auf dieselbe Datenquelle zugreifen behoben.
Da wollte ich mal Fragen, ob es mit einem solchen Konstrukt zu Problemen kommen kann.
Das zweite ist das DAO oder Repository Pattern. Die arbeiten beide immer mit Interfaces und dann mit einer Implementierung. Aber eigentlich heißt es ja, wenn es für ein Interface nur eine Implementierung gibt, dann kann man sich das Interface auch sparen. Eigentlich bin ich gerade bei den Persistenz-Klassen am Aufräumen, ich wollte nicht die Anzahl verdoppeln, um ein zusätzliches Interface zu haben, was am Ende einfach nur eine Ansammlung von Methodennamen ist und jedes Mal, wenn ich eine neue Methode brauche, dann muss ich das in zwei Klassen manchen, da fehlt mir irgendwie der objektive Vorteil, aber ich lass mich gerne belehren.
Bin gespannt auf eure Gedanken dazu. Aktuell kommt es mir so vor, als wenn ich mit jedem weiteren Artikel, den ich lese weniger weiß, was ich tue.
Also zum ersten der Unterschied zwischen EntityManagerFactory und EntityManager. Ich verwende EntityMangaerFactories (für drei Datenquellen), das heißt ich muss die Persistenzeinheit nur einmal benennen und dann hole ich mir vom richtigen Factory einen EntityManager und arbeite dann mit dem. Den hole ich nicht einmal pro Klasse sondern einmal pro Methode. Soweit ich mich erinnern kann hat das ein Problem mit redundanten Servern, die auf dieselbe Datenquelle zugreifen behoben.
Da wollte ich mal Fragen, ob es mit einem solchen Konstrukt zu Problemen kommen kann.
Das zweite ist das DAO oder Repository Pattern. Die arbeiten beide immer mit Interfaces und dann mit einer Implementierung. Aber eigentlich heißt es ja, wenn es für ein Interface nur eine Implementierung gibt, dann kann man sich das Interface auch sparen. Eigentlich bin ich gerade bei den Persistenz-Klassen am Aufräumen, ich wollte nicht die Anzahl verdoppeln, um ein zusätzliches Interface zu haben, was am Ende einfach nur eine Ansammlung von Methodennamen ist und jedes Mal, wenn ich eine neue Methode brauche, dann muss ich das in zwei Klassen manchen, da fehlt mir irgendwie der objektive Vorteil, aber ich lass mich gerne belehren.
Bin gespannt auf eure Gedanken dazu. Aktuell kommt es mir so vor, als wenn ich mit jedem weiteren Artikel, den ich lese weniger weiß, was ich tue.