我有一个与另一个实体有ManyToMany
关系的实体。
让我们说儿童有一系列的爱好。每当我想创建一个新孩子时,我都这样做:
Child child = new Child();
List<Hobby> hobbies = hobbiesDAO.retrieveAll(); //Get all hobbies from database
child.setHobbies(hobbies); // Error is thrown here
childDao.create(child); // persist to database
LazyInitializationException
是thrown
。我认为这是因为新创建的Child实体尚未附加到Session
?如何将新创建的实体附加到会话中,以便在添加相关实体时不会抛出exception
。感谢。
答案 0 :(得分:0)
定义要急切加载的爱好,除非你真的需要它被懒惰地加载哪个hibernate默认
@ManyToMany(fetch=FetchType.EAGER)
public List<Hobby> getHobbies() {
return hobbies;
}