开发常见的异常

java.lang.NoSuchMethodException: com.bang.action.admin.GrouponAction.setFirstIndex([Ljava.lang.String;)

原因:传进的值和接收的类型不匹配

解决:查看是否传错值,是否配错接收类型


org.hibernate.InstantiationException: could not instantiate test objectcom.bang.model.Goods_Groupon

原因:类文件有错

解决:查看类文件是否写错,更改正确回来


java.lang.NullPointerException

原因:某地方为空

解决:找到出错的地方,检查清楚是什么没有值


java.lang.IllegalArgumentException: id to load is required for loading

原因:   id无效

解决:检查id传值是否出错


java.lang.IllegalArgumentException: attempt to create delete event with null entity

原因: 你删除一个空对象

解决:  检查删除对象是否取错值


 java.lang.Error: Unresolved compilation problem

原因: 编译问题

解决: 找到对应的类,查看是否有写错东西,让java无法编译


org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.bang.model.User#4]

原因: 不同对象具有相同的标识符值已经与会话关联起来:[com.bang.model# 4

解决:建议重新新建一个对象,来取代那个已经有了的对象来进行操作


org.hibernate.hql.ast.QuerySyntaxException: unexpected token: ( near line 1, column 17 [select  uu from (select  o from com.bang.model.Use

原因:错误的标志(查询语句不能识别)

解决:找出语句哪里写错,更改正确


org.hibernate.QueryException: could not resolve property: productDate of

原因:找不到查询对象的属性 productDate

解决:找到错误的地方,更改回来就可以了


java.util.ConcurrentModificationException

原因:   你不能在对一个List进行遍历的时候将其中的元素删除掉
解决:你可以先将要删除的元素用另一个list装起来,等遍历结束再remove掉

org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here  
原因:使用SessionFactory.getCurrentSession执行hibernate操作时,hibernate的操作默认必须包含在一个transaction中,也就是开始要用session.begionTransaction得到一个transaction 实例(譬如tx), 操作结束时在这个实例上进行事务的提交tx.commit或回滚tx.rollback. 如果这些CRUD操作不被包括在一个具体的transaction中,hibernate就会抛出上述异常。
解决:一:你去检查是否有写错代码,乜有开启事务,二:用openSession,这个就不用开启事务,不过你在对该对象操作时要进行自己手动关闭


 org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.bang.model.Product

原因:在你更新某个对象之前,更新对象里面的某值是空的
解决:找到哪个属性,是空的,或者还没有保存的


Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据。

原因:一般是数据库属性问题,例如:你在表中的一个字段存放的事一个对象,你如果没有设置好关联,或者设置好属性,就会出现上面提示。。。
解决:看一下表的字段属性,看看存放的是什么类型,设置好关联..等.


org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations


原因:关联属性删除
解决:方法1 删除Set方的cascade       

方法2 解决关联关系后,再删除 :   

 方法3 在many-to-one方增加cascade 但值不能是none

如果以上三个方案都失败 ,检查一下hashCode equals是否使用了id作为唯一标示的选项了;用uuid.hex时是没有问题的;
但是用了native,就不行了,删除
也就是问题出现在持久化类的hashCode equals方法身上
      


org.hibernate.exception.GenericJDBCException: could not execute query 

[ERROR] [org.hibernate.util.JDBCExceptionReporter] 只进结果集不支持请求的操作。

原因:可能是因为你进行分页查询的时候,传了0进去
解决:把传递参数修改好


ognl.OgnlException: target is null for setProperty(null, "client", [Ljava.lang.String;@170a4d0)

原因:找不到client这个属性,给及赋值

解决:检查form里面是否正确写对了name=xx.client,
         action 后台是否有生成get  and  set  方法  


java.sql.BatchUpdateException: Data truncation: Out of range value for column 'id' at row 1

原因:超过字段属性范围值,例如:太长了 设置了id长度为11位int,可是插入超过11位
解决:修改字段属性,或者修改插入数据

java.lang.IllegalAccessException: Class ognl.OgnlRuntime can not access a member ..

原因:非法字段属性名,说白了就是名字不规范,有冲突

解决:换个字段名


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值