なぜこのエラーが発生していますか?私のサービスIMPLでエンティティをdtoに変換するときのmvc、hibernate LazyInitializationExceptionのエラー
@OneToMany(fetch = FetchType.LAZY, mappedBy = "person", cascade = CascadeType.ALL)
private Set<Contact> contacts;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "PERSON_ROLE", joinColumns = {
@JoinColumn(name = "person_id", nullable = false, updatable = false) },
inverseJoinColumns = { @JoinColumn(name = "role_id",
nullable = false, updatable = false) })
private Set<Role> roles = new HashSet<Role>(0);
私の人物モデルのこの
@Transactional
@Repository
public class PersonDaoImpl implements PersonDao{
@Autowired
private SessionFactory sessionFactory;
@SuppressWarnings("unchecked")
@Override
@Transactional(readOnly=true)
public List<Person> getAllPersons(){
List<Person> persons = (List<Person>) sessionFactory.getCurrentSession()
.createCriteria(Person.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.list();
return persons;
}
を呼び出して、私のdaoImplイムの一部である部分は、私が間違って何をやっている
BeanUtils
を使用してDTOにモデルを変換しますか?
FetchTypeをEAGERに変更すると、私の作品になります。ありがとう –