# Hibernate n:m mittels Zwischentabelle und bidirektionaler Zugriff



## casi91 (13. Dez 2011)

Hallo Leute.
Ich hoffe ich kann hier mein Problem anschaulich darstellen.

Folgende Anforderug ist gegeben:

Ein Mitarbeiter kann keine, eine oder mehrere Aufgaben haben.
Eine Aufgabe kann zu einem oder mehreren Mitarbeitern zugeteilt worden sein.
Eine bestehende Aufgabe kann nachträglich einem weiteren Mitarbeiter zugeteilt werden.

Ein Mitarbeiter soll wissen, welche Aufgaben er noch zu erledigen hat.
Eine Aufgabe weiß, von welchen Mitarbeitern sie ausgeführt wird.

Aus dieser Anforderung habe ich 3 Tabellen erstellt.

Aufgaben (ID, beschreibung...)
Mitarbeiter (ID, Name...)
AufgabenMitarbeiter(MitarbeiterID, AufgabenID, zugeteiltAm)

Um das ganze nun mittels Hibernate (und Annotations) zu realisieren, habe ich die Klassen wie folgt definiert:

Aufgabe:

```
@Entity
@Table(name="AUFGABEN")
public class Aufgaben {

	public Aufgaben() {
		
	}

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY) 
	@Column(name = "ID")		
	private Integer id;	

	@Column(name = "BESCHREIBUNG")
	private String beschreibung;

	@OneToMany(fetch=FetchType.EAGER, cascade = CascadeType.ALL, mappedBy="myAufgabe")	
	private Set <AufgabenMitarbeiter> maAufgaben = new HashSet<AufgabenMitarbeiter>();

	public Set <AufgabenMitarbeiter> getMaAufgaben() {
		return maAufgaben;
	}

	public void setMaAufgaben(Set <AufgabenMitarbeiter> maAufgaben) {
		this.maAufgaben = maAufgaben;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getBezeichnung() {
		return bezeichnung;
	}

	public void setBezeichnung(String bezeichnung) {
		this.bezeichnung = bezeichnung;
	}
```


Mitarbeiter:

```
@Entity
@Table(name="MITARBEITER")
public class Mitarbeiter {

	public Mitarbeiter() {

	}

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY) 
	@Column(name = "ID")		
	private Integer id;

	@Column(name = "NAME")
	private String name;

	@OneToMany(fetch=FetchType.EAGER, cascade = CascadeType.ALL, mappedBy="myMitarbeiter")	
	private Set <AufgabenMitarbeiter> maAufgaben = new HashSet<AufgabenMitarbeiter>();	

	public Integer getId() {
		return id;
	}


	public void setId(Integer id) {
		this.id = id;
	}


	public String getName() {
		return vorname;
	}


	public void setName(String name) {
		this.name = name;
	}

	public Set <AufgabenMitarbeiter> getMaAufgaben() {
		return maAufgaben;
	}


	public void setMaAufgaben(Set <AufgabenMitarbeiter> maAufgaben) {
		this.maAufgaben = maAufgaben;
	}
```

AufgabenMitarbeiter

```
@Entity
@Table(name="AUFGABENMITARBEITER")
public class AufgabenMitarbeiter implements Serializable {

	public AufgabenMitarbeiter() {
		
	}

	@Id
	@ManyToOne(fetch=FetchType.EAGER,cascade = CascadeType.ALL)
	@JoinColumn(name = "MITARBEITERID", insertable=true, updatable=true)		
	private Mitarbeiter myMitarbeiter;
	
	@Id
	@ManyToOne(fetch=FetchType.EAGER,cascade = CascadeType.ALL)
	@JoinColumn(name = "AUFGABENID", insertable=true, updatable=true)	
	private Aufgaben myAufgabe;
	
	@Column(name="ZUGETEILTAM")
	private Date zugeteiltAm;

	public Mitarbeiter getMyMitarbeiter() {
		return myMitarbeiter;
	}

	public void setMyMitarbeiter(Mitarbeiter myMitarbeiter) {
		this.myMitarbeiter = myMitarbeiter;
	}

	public Aufgaben getMyAufgabe() {
		return myAufgabe;
	}

	public void setMyAufgabe(Aufgaben myAufgabe) {
		this.myAufgabe = myAufgabe;
	}

	public Date getZugeteiltAm() {
		return zugeteiltAm;
	}

	public void setZugeteiltAm(Date zugeteiltAm) {
		this.zugeteiltAm = zugeteiltAm;
	}
```


Anfangs habe ich in der Tabelle Mitarbeiter die Zeile:

```
@OneToMany(fetch=FetchType.EAGER, cascade = CascadeType.ALL, mappedBy="myMitarbeiter")	
	private Set <AufgabenMitarbeiter> maAufgaben = new HashSet<AufgabenMitarbeiter>();
```
weg gelassen.

Dann konnte ich neue Aufgaben definieren und auch entsprechend abspeichern.
Da dann aber nur die Aufgaben wissen, von wem sie bearbeitet werden, fügte ich die Zeile ein, um zu realisieren, dass die Mitarbeiter ihre Aufgaben kennen.

Jedoch kommt dann eine elendig lange Fehlermeldung (die zu groß ist um sie hier komplett zu posten, daher "nur" ein Ausschnitt).

```
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
	at org.hibernate.type.EntityType.resolve(EntityType.java:438)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:617)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:722)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
	at org.hibernate.loader.Loader.doQuery(Loader.java:829)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
	at org.hibernate.type.EntityType.resolve(EntityType.java:438)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:617)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:722)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
	at org.hibernate.loader.Loader.doQuery(Loader.java:829)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
	at org.hibernate.type.EntityType.resolve(EntityType.java:438)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:617)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:722)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
	at org.hibernate.loader.Loader.doQuery(Loader.java:829)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
	at org.hibernate.type.EntityType.resolve(EntityType.java:438)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:617)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:722)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
	at org.hibernate.loader.Loader.doQuery(Loader.java:829)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
	at org.hibernate.type.EntityType.resolve(EntityType.java:438)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:617)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:722)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
	at org.hibernate.loader.Loader.doQuery(Loader.java:829)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
	at org.hibernate.type.EntityType.resolve(EntityType.java:438)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:617)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:722)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
	at org.hibernate.loader.Loader.doQuery(Loader.java:829)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
	at org.hibernate.type.EntityType.resolve(EntityType.java:438)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:617)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:722)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
	at org.hibernate.loader.Loader.doQuery(Loader.java:829)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
	at org.hibernate.type.EntityType.resolve(EntityType.java:438)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:617)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:722)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
	at org.hibernate.loader.Loader.doQuery(Loader.java:829)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
	at org.hibernate.type.EntityType.resolve(EntityType.java:438)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:617)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:722)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
	at org.hibernate.loader.Loader.doQuery(Loader.java:829)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
	at org.hibernate.type.EntityType.resolve(EntityType.java:438)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:617)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:722)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
	at org.hibernate.loader.Loader.doQuery(Loader.java:829)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1038)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:630)
	at org.hibernate.type.EntityType.resolve(EntityType.java:438)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:617)
	at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:722)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
	at org.hibernate.loader.Loader.doQuery(Loader.java:829)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
```

Jemand eine Idee, was ich falsch gemacht habe?
Oder einen besseren Lösungsansatz?

Hoffe mir kann jemand helfen und Danke schonmal im vorraus


----------



## casi91 (14. Dez 2011)

Niemand eine Idee, wie ich das Konstrukt lösen kann?
Bzw. was an meinem Lösungsansatz falsch ist?


----------



## casi91 (14. Dez 2011)

Habe das ganze nun mittels LAZY-Loading gelöst. Da funktionierts dann einwandfrei.
Ist das nun Zufall, oder sollte/muss man bei _@OneToMany-Beziehungen_ *IMMER* LAZY Loading verwenden?

Eine Eklärung wäre für meine weitere Programmierarbeiten äußerst hilfreich


----------

