异常总结

一、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 uimServFileDatas=new HashSet();
          

二、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=null;

evdoKeyInfos.add(new EvdoKeyInfo(arrs[0], arrs[1])); --->会抛出空指针异常

解决办法:

List evdoKeyInfos=new ArrayList();

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,大功告成

你可能感兴趣的:(异常处理,myeclipse,session,hibernate,application,数据库,eclipse)