Hallo,
ich hab mal wieder ein Problem mit Hibernate.
Ich habe eine n-1 Beziehung zwischen Paragraph und DetailText. Das heißt ein Paragraph hat viele DetailTexts und und ein DetailText gehört genau zu einem Paragraph.
meine Beziehungen sehen wie folgt aus:
in Klasse Paragraph:
in Klasse DetailText:
Jetzt habe ich versucht, einen Paragraph abzuspeichern. Das hat auch geklappt und er hat auch die entsprechenden DetailTexts gespeichert, allerdings ohne den Bezug zum Paragraphen. Deshalb wollte ich jetzt in der setter-Methode den Paragraph setzen:
Dabei kommt jetzt folgende Exception:
org.hibernate.PropertyAccessException: Exception occurred inside setter of persist.Paragraph.detailTexts
...
Caused by: java.lang.reflect.InvocationTargetException
...
Caused by: org.hibernate.LazyInitializationException: illegal access to loading collection
Ich hab hier auch schonmal nachgeschaut, aber ich wüsste nicht was das davon sein soll. Und mit der LazyInitializationException versteh ich auch nicht. Hab doch alles auf Eager.
Weiß jemand Rat?
ich hab mal wieder ein Problem mit Hibernate.
Ich habe eine n-1 Beziehung zwischen Paragraph und DetailText. Das heißt ein Paragraph hat viele DetailTexts und und ein DetailText gehört genau zu einem Paragraph.
meine Beziehungen sehen wie folgt aus:
in Klasse Paragraph:
Code:
@OneToMany(mappedBy="paragraph", cascade= CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="paragraph")
public List<DetailText> getDetailTexts() {
return detailTexts;
}
in Klasse DetailText:
Code:
@ManyToOne
@JoinColumn(name="paragraph")
public Paragraph getParagraph() {
return paragraph;
}
Jetzt habe ich versucht, einen Paragraph abzuspeichern. Das hat auch geklappt und er hat auch die entsprechenden DetailTexts gespeichert, allerdings ohne den Bezug zum Paragraphen. Deshalb wollte ich jetzt in der setter-Methode den Paragraph setzen:
Code:
public void setDetailTexts(List<DetailText> detailTexts) {
this.detailTexts = detailTexts;
if (this.detailTexts != null){
for(DetailText detText : this.detailTexts){
detText.setParagraph(this);
}
}
}
Dabei kommt jetzt folgende Exception:
org.hibernate.PropertyAccessException: Exception occurred inside setter of persist.Paragraph.detailTexts
...
Caused by: java.lang.reflect.InvocationTargetException
...
Caused by: org.hibernate.LazyInitializationException: illegal access to loading collection
Ich hab hier auch schonmal nachgeschaut, aber ich wüsste nicht was das davon sein soll. Und mit der LazyInitializationException versteh ich auch nicht. Hab doch alles auf Eager.
Weiß jemand Rat?