调用getNextException查看原因

原创 2007年09月21日 17:34:00

前两次都说了Hibernate出现"could not execute JDBC batch update"这个异常时的办法,不过还要看数据库日志,多少有些麻烦。这回就说一下利用出现的“调用getNextException查看原因”提示来在调试时查看到底出了什么事情。

在可能发生异常的catch执行体中加上断点,如下:

try...{
    ExampleDAO dao 
= new ExampleDAO();
    Example example 
= new Example();
    example.setId(
"123"); // 假设数据库中已经有主键是123的项了
    Transaction tx = dao.getSession().beginTransaction();
    dao.save(example);
    tx.commit();
}
catch(RuntimeException e)...{
    e.printStackTrace(); 
// 在这行设一个断点,然后Watch变量e
}

这里假设数据库中已经存在了一个主键为123的元组,并且表example定义了一个约束example_pkey,表明主键唯一约束。这时调试到e.printStackTrace()这行时,就会停在那里,然后我们在Eclipse里面选中变量e,点右键选Watch,则它的信息将被查看,具体如下:

注意标了红色圈圈的地方,这就是错误信息了~ 看到了吧,违反主键唯一的约束~ 所以才抛错的~

哈哈,写到这里吧~

批次处理错误解决办法

错误信息:严重: Servlet.service() for servlet action threw exceptionjava.sql.BatchUpdateException: 批次处理 0 u...

java.sql.BatchUpdateException

异常信息: java.sql.BatchUpdateException: 批次处理 0 insert into xxx (id, ...) values (44, ...) 被中止,呼叫 getNe...
  • bbirdsky
  • bbirdsky
  • 2013年10月17日 18:15
  • 22445

java.sql.BatchUpdateException(转载)

今天遇到一个问题,执行控制台输出sql没错,但执行到最后抛异常,后来知道是批处理时出的问题, 异常信息: java.sql.BatchUpdateException: 批次处理 0 ins...
  • invLong
  • invLong
  • 2014年11月27日 11:20
  • 1412

java.sql.BatchUpdateException

异常信息: java.sql.BatchUpdateException: 批次处理 0 insert into xxx (id, ...) values (44, ...) 被中止,呼叫 get...

[非原子批处理出现故障]使用 getNextException() 来检索已经过批处理的特定元素的异常。 ERRORCODE=-4228, SQLSTATE=null

[jcc][t4][102][10040][3.57.82] 非原子批处理出现故障。虽然已经提交了批处理,但是该批处理的某个成员至少发生了一个异常。 使用 getNextException() 来检...
  • MCpang
  • MCpang
  • 2012年11月30日 08:54
  • 18077

java.sql.BatchUpdateException问题处理

java.sql.BatchUpdateException: 批次处理 0 insert into xxx (id, ...) values (44, ...) 被中止,呼叫 getNextExcep...

在mybatis执行SQL语句之前进行拦击处理

比较适用于在分页时候进行拦截。对分页的SQL语句通过封装处理,处理成不同的分页sql。 实用性比较强。 import java.sql.Connection; import java.sql.Pre...
  • hfmbook
  • hfmbook
  • 2014年12月17日 19:41
  • 42942

javafx显示多个窗口以及javafx多窗口之间数据交互传输

实现一共有这么几个点: 第一点也是最重要也是最简单的就是一个舞台管理类,里面两个静态属性一个舞台管理的map,一个是控制器的map; 第二点:将控制器作为另外一个控制器的属性; 第三点:将要被操作...

Java处理Access问题杂症

java处理access原来想想应该很是简单;可实际操作中真真切切地碰到了问题: 1、通过数据源连接的方式一律不考虑,所以必然就需要涉及到jar包了; 2、理所当然的优先选择了jdbc,googl...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:调用getNextException查看原因
举报原因:
原因补充:

(最多只允许输入30个字)