一、org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.ptn.uim.bean.UimServFileRecord.uimServFileDatas,
no session or session was closed
错误原因:
原因是在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
二、http://java.sun.com/jsp/jstl/core cannot be resolved either web.xml or the jar files deployed whth this application
解决办法:
有其他解决办法,但是最保守的做法是将jstl.jar、standard.jar这两个jar包直接拷贝到工程的lib目录下
三、
List
evdoKeyInfos.add(new EvdoKeyInfo(arrs[0], arrs[1])); --->会抛出空指针异常
解决办法:
List
evdoKeyInfos.add(new EvdoKeyInfo(arrs[0], arrs[1]));
四、Could not synchronize database state with session解决方法
错误原因:
修改数据库映射实体bean时,数据库未对应更新导致的
解决办法:
此处使用hibernate.hbm2ddl.auto自动生成表结构,把oracle中的表和序列号删除,然后启动tomcat重新生成表和序列号
五、在myeclipse中安装svn,可能先前安装的adt插件无法使用解决办法
解决办法如下:
1)、首先找到myeclipse安装目录,如我的myeclipse安装在D:\dev\目录下
2)、接着在D:\dev\MyEclipse 6.5\eclipse\configuration目录下,找到org.eclipse.update文件夹并删除此文件夹
3)、重新启动myeclipse,大功告成