解决:org.hibernate.LazyInitializationException: failed to lazily initialize(2013-04-28 14:49:47)

来源:互联网 发布:编程珠玑 动态规划 编辑:程序博客网 时间:2024/06/06 04:13

原因是在hibernate映射关系中由于延迟加载,session在调用前已经被关闭,,所以加载set属性时无可用session

解决方案:

在 @ManyToOne端设置fetch=FetchType.LAZY,@OneToMany端设置fetch=FetchType.EAGER,如下配置

@ManyToOne(cascade={CascadeType.REFRESH, CascadeType.MERGE}, optional=true, fetch=FetchType.LAZY)
@JoinColumn(name="uim_serv_file_record_id")
private UimServFileRecord uimServFileRecord;

                              

@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER,mappedBy="uimServFileRecord")
private Set uimServFileDatas=new HashSet();


http://www.cnblogs.com/linjiqin/archive/2011/03/21/1990041.html

0 0
原创粉丝点击