EclipseLink EntityManager

  • Themenstarter Themenstarter Jürgen17888
  • Beginndatum Beginndatum
J

Jürgen17888

Gast
Hallo zusammen,

Frage zu EclipseLink:

Habe eine Webanwendung mit verschiedensten Entitys. So bei jeder Klasse (Entity) habe ich eine Methode, die das Objekt in die DB schreibt.

EntityManager em = Datenbank.createEntityManager();
em.getTransaction().begin();
em.persist(this);
em.getTransaction().commit();
em.close();


Meine Frage: Muss ich jedes mal einen EntityManager erzeugen? Reicht einer für alle Klasse? Oder einer pro Klasse?

Danke
Jürgen
 
Derartige Methoden direkt in die entites zu schreiben ist ziemlich schlechter Stil. Sowas gehört in die Session-/Action-Beans. Die Entities enthalten in der Regel nur die Daten und keine Applikationslogik.
 
Was für ne Technik verwendest du für deine Webanwendung?

Wie schon zuvor geschrieben sollte in die JPA-Entities niemals irgendwelche Anwendungslogik! Das sind JavaBeans!
 
aber um auf deine Frage zu antworten: nachdem EntityManagerFactory immer einen neue Instanz von EntityManager erzeugt bzw. keine SingleTon ist, ist es auch nicht gerade empfehlenswert das unsinnig oft zu tun.
 
Du solltest Doa-Klassen verwenden. Und wenn Du mit den Entitäten eine Vererbungshirarchie aufbaust - z.B. dass alle Entitäten von einer Abstrakten Entität erben, die den Primärschlüssel verwaltet -, dann brauchst Du für alle Datenbank-Operationen nur ein einziges DAO.
 

Neue Themen


Zurück
Oben