0

我有一个与另一个实体有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

一个LazyInitializationExceptionthrown。我认为这是因为新创建的 Child 实体尚未附加到Session? 如何将新创建的实体附加到会话中,以便exception在添加相关实体时不会抛出异常。谢谢。

4

1 回答 1

0

定义要急切加载的爱好,除非您真的需要延迟加载,休眠默认会这样做

@ManyToMany(fetch=FetchType.EAGER)
    public List<Hobby> getHobbies() {
        return hobbies;
    }
于 2013-05-10T04:35:54.560 回答