手上项目(SSH)异常备忘

说明:处理过程没有考虑其他分支情况,直接从解决问题入手。

异常描述:ERROR 2010-11-24 10:11:42,780 LazyInitializationException:<init> - failed、
to lazily initialize a collection of role: xxx.xx.xxx, no session or
session was closed
解决方法:在模型对应的*.hbm.xml中找到对应的集合字段,标记lazy="true"。
备注说明:hibernate默认java的复合类型(对象、接口、集合)的lazy为false,目的是为了
提高性能,当读取模型中的复合类型时再从数据库中进行查询。
当lazy为false时,直接引用模型中的复合类型,会得到null值,因而会引发异常。
一般是获取模型后,直接将对象保存后(如SESSION)在其他位置引用(例如页面,
另外的action,viewer)引发此异常。

异常描述:ERROR 2010-11-24 10:34:33,128
org.springframework.dao.InvalidDataAccessApiUsageException: object
references an unsaved transient instance - save the transient instance
before merging: xxx.xxx.xxx; nested exception is
org.hibernate.TransientObjectException: object references an unsaved
transient instance - save the transient instance before merging:
xxx.xxx.xxx
解决方法:在模型对应的*.hbm.xml中找到对应的集合字段,标记cascade="save-
update"(cascade="all"也行),如果持久化对象不是update操作,换成
save(Object entity)方法来操作
备注说明:多表联合操作中没有分析清楚对象与对象之间的维护关系时容易发生此异常。多表
联系操作从包含集合类字段的一端去维护操作。
异常描述:java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer

解决方法:删除cglib-2.1.3.jar。
备注说明:cglib-2.1.3.jar 与 cglib-nodep-2.1_3.jar 冲突
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值