selaginella 2011-07-14
今天就总结一下自己这段时间在学习SSH项目的过程中所遇到的几个小错误,以及最终能够奏效的解决办法
1.错误:java.sql.SQLException:Field'userId'doesn'thaveadefaultvalue
原因与解决:把配置文件的主键改为<generatorclass="assigned"/>可以进行自定义主键值,因为我在设主键时没有设成自动增长的,要求填默认值是受了配置文件里<generatorclass="native"/>的影响了。
2.错误:org.hibernate.ObjectDeletedException:deletedobjectwouldbere-savedbycascade(removedeleted
objectfromassociations)
解决:
方法1删除Set方的cascade
方法2解决关联关系后,再删除
3.错误:org.hibernate.id.IdentifierGenerationException:idsforthisclassmustbemanuallyassignedbeforecallingsave():
原因与解决:ID在数据库中应该是自增长列,而在User.hbm.xml中却没有定义成自增长列,在插入数据库时,也就是Save()方法时,出现错误。这样改:
<idname="id"type="java.lang.Integer">
<columnname="ID"/>
<generatorclass="increment"/>
</id>
4.org.hibernate.LazyInitializationException:couldnotinitializeproxy-noSession
原因:没有设置lazy属性
5.)Connectionscouldnotbeacquiredfromtheunderlyingdatabase
原因:大概的意思是说:不能连接当前所配置的数据库,检查你的URL链接字符串是否正确