再说Could not execute JDBC batch update

原创 2007年09月20日 16:55:00

上一次说了Hibernate这个异常,因为我那次没有把自增的主键设为"increment",不过后来发现其他情况也会出现这个异常,原因情况比较多,归纳了一下,觉得还是因为Hibernate并没有跟数据库有非常密切的交互,所以后台数据库里出问题了,也不能及时反映在Hibernate中,而仅仅用一个Could not execute JDBC batch update来应付开发人员~

解决办法就是,我们可以去查看数据库日志,每当Hibernate出现这个异常的时候,一般来说都是因为不满足数据库的约束造成的,比如唯一约束,外键约束,自增约束等等~ 我们只要配置好了数据库的日志,那么日志就会清清楚楚地告诉我们是哪里出了问题~

这里我来简单说一下PostgreSQL的日志配置方法:

1- 打开PostgreSQL安装目录下的data文件夹下的postgresql.conf文件,修改 # - What to Log - 那里如下:

# - What to Log -

debug_print_parse 
= off
debug_print_rewritten 
= off
debug_print_plan 
= off
debug_pretty_print 
= off
log_connections 
= on
log_disconnections 
= on
log_duration 
= on
log_line_prefix 
= '<%t;PID:%p;Command Tag:%i;SessionID:%c;SessionLineNum:%l;SessionStartTime:%s;TranID:%x>'            # Special values:
                    #   %u = user name
                    #   %d 
= database name
                    #   %r 
= remote host and port
                    #   %h 
= remote host
                    #   %p 
= PID
                    #   %t 
= timestamp (no milliseconds)
                    #   %m 
= timestamp with milliseconds
                    #   %i 
= command tag
                    #   %c 
= session id
                    #   %l 
= session line number
                    #   %s 
= session start timestamp
                    #   %x 
= transaction id
                    #   %q 
= stop here in non-session 
                    #        processes
                    #   %% 
= '%'
                    # e.g. '<%u%%%d> '
log_statement 
= 'all'            # none, ddl, mod, all
#log_hostname 
= off

注意:log_line_prefix 那行配置的就是你将从日志文件中看到的东西~ 执行语句,变量都包括了,一览无余~

2- 修改完别忘了保存,然后在控制面板-管理工具-服务中重启PostgreSQL服务~ 查看日志的地方可以在data文件夹下的pg_log文件夹里,也可以到pgAdmin中,选中数据库,然后点“工具-服务器状态-日志档”。

哈哈,这回再有Could not execute JDBC batch update异常,就再也不怕找不到原因摸不着头脑了~

有疑问或者建议,随时跟我联系给我留言~

Hive-1.2.1使用问题集

背景   Hive是Hadoop生态区中为数不多支持SQL的一个SQLengine,但支持的程度不是100%,比如,建模时要用到的limit offset,查看了Hive的手册,里面是不支持的。 ...
  • huyangshu87
  • huyangshu87
  • 2016年06月07日 15:42
  • 6329

线上MYSQL同步报错故障处理总结

http://www.cnblogs.com/itcomputer/articles/5618907.html 前言 在发生故障切换后,经常遇到的问题就是同步报错,数据库很小的时候,d...
  • Steven_liwen
  • Steven_liwen
  • 2016年12月01日 17:05
  • 2562

hibernate中的id生成器

1) assigned 主键由外部程序负责生成,无需Hibernate参与。 2) hilo 通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。 3) seqhilo 与...
  • yanlianglu
  • yanlianglu
  • 2015年05月27日 09:45
  • 9130

Hibernate数据关联映射出现Could not execute JDBC batch update的异常处理

Hibernate数据关联映射出现Could not execute JDBC batch update的异常处理该异常是在创建多对多映射时出现的,当时考虑创建老师表和学生表,老师和学生的关系符合多对...
  • self_knowledge
  • self_knowledge
  • 2017年05月20日 22:13
  • 236

hibernate的Could not execute JDBC batch update错误原因及处理

今天用hibernate做系统的时候,出现了Could not execute JDBC batch update错误,现在已经解决。 先说说我的代码:          这是角色表对应的配置文件...
  • qq775476657
  • qq775476657
  • 2012年01月10日 18:42
  • 236

org.hibernate.exception.SQLGrammarException:Could not execute JDBC batch update问题的解决

org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update) 提示的错误内容如下:  Hibern...
  • wu_xiaolei
  • wu_xiaolei
  • 2015年04月17日 17:22
  • 344

【Hibernate错误解决办法】Could not execute JDBC batch update; Data too long for column 'name' at row 1

刚开始学Hibernate
  • heyu1992312
  • heyu1992312
  • 2014年07月25日 10:13
  • 1071

org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update

1、错误描述type Exception report message Could not execute JDBC batch update; nested exception is org.hi...
  • you23hai45
  • you23hai45
  • 2015年10月23日 18:45
  • 2902

org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update

org.apache.jasper.JasperException: org.hibernate.exception.SQLGrammarException: Could not execute JD...
  • qachenzude
  • qachenzude
  • 2012年03月31日 20:46
  • 4966

org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update解决

环境 Eclipse Indigo + Hibernate3.2 + Oracle 11g R2 + SQLPlus   问题 运行Hibernate程序,报如下异常   org.hibernate....
  • Wentasy
  • Wentasy
  • 2012年12月10日 17:07
  • 4395
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:再说Could not execute JDBC batch update
举报原因:
原因补充:

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