EclipseLink EntityManager

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
 

JanHH

Top Contributor
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.
 

Tente

Mitglied
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!
 

nrg

Top Contributor
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.
 

Soahc

Aktives Mitglied
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.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A JPA Postgresql/JPA/EclipseLink - Mapping Fehler? Data Tier 7
S JPA Hibernate Search & EclipseLink (oder OpenJPA) Data Tier 0
R JPA Probleme mit Wechsel von EclipseLink auf Hibernate Data Tier 4
A EclipseLink JPA - ManyToMany und Select Abfrage Data Tier 8
F JPA + EclipseLink rekursive Beziehung löschen Data Tier 2
N [EclipseLink] Best Practise zur Generierung von Entities aus Tabellen Data Tier 28
M EclipseLink 2 MetaModel/Canonical Model Generation Data Tier 3
C EclipseLink in eine JavaEE Tomcat Anwendung einbinden Data Tier 7
M eclipselink Data Tier 2
T JPA/Eclipselink: DB Schema anlegen? Data Tier 9
G JPA/ Eclipselink: (Alte) Kopie einer Entity? Data Tier 6
D jpa/eclipselink setMaxResults() funktioniert nicht mit MySql?! Data Tier 9
M JPA EntityManager ist null Data Tier 2
Rudolf Mein EntityManager oder EntityManagerFactory liefern ständig null zurück Data Tier 8
E Hibernate: Session vs EntityManager Data Tier 3
J EntityManager Data Tier 2
I JPA EntityManager und persist() (Java EE 6) Data Tier 5
D JPA vs Hibernate.cfg und Entitymanager Data Tier 6
A No Persistence provider for EntityManager named Data Tier 4
S [Hibernate] No Persistence provider for EntityManager Data Tier 5
G EntityManager find Data Tier 5
T injizierter EntityManager (Seam) null Data Tier 2
K No Persistence provider for EntityManager named Data Tier 4
D wie umgehen mit Ressource EntityManager und E-M-Factory Data Tier 12
D legacy db mit lustigen Spaltennamen per EntityManager find laden Data Tier 4
H Injected EntityManager und EntityManagerFactory ist null Data Tier 5

Ähnliche Java Themen


Oben