我用SSH开发的。在后台有个super.getHibernateTemplate().save(entity)的操作,这里就是报错发生的地方。
对于entity呢,他的主键类型是Long(对应数据库中为number(19,0))且生成方式是sequence,他有个多对一的关系设置,在配置文件中设置了unsaved-value=“-1”。在set这个entity的时候也曾entity.setId(new Long(-1)).
原来的程序在另外一台机器上(jdk配置为1.4,使用weblogic8,网络数据库)可以完成save的操作,但是本机上(jdk为1.4,使用tomcat5,本机数据库)却出现如题的错误,具体如下:
14:04:03 WARN [JDBCExceptionReporter] logExceptions (line:71) SQL Error: 1, SQLState: 23000
14:04:03 ERROR [JDBCExceptionReporter] logExceptions (line:72) ORA-00001: 违反唯一约束条件 (QEL.SYS_C002759)14:04:03 ERROR [AbstractFlushingEventListener] performExecutions (line:287) Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:74)
。
现在两台机器上的程序是一样的,不同在于所用web服务器和数据库链接,成为疑点。或者还有其他方面的原因,希望大家给与指导。测试进行中。
对于entity呢,他的主键类型是Long(对应数据库中为number(19,0))且生成方式是sequence,他有个多对一的关系设置,在配置文件中设置了unsaved-value=“-1”。在set这个entity的时候也曾entity.setId(new Long(-1)).
原来的程序在另外一台机器上(jdk配置为1.4,使用weblogic8,网络数据库)可以完成save的操作,但是本机上(jdk为1.4,使用tomcat5,本机数据库)却出现如题的错误,具体如下:
14:04:03 WARN [JDBCExceptionReporter] logExceptions (line:71) SQL Error: 1, SQLState: 23000
14:04:03 ERROR [JDBCExceptionReporter] logExceptions (line:72) ORA-00001: 违反唯一约束条件 (QEL.SYS_C002759)14:04:03 ERROR [AbstractFlushingEventListener] performExecutions (line:287) Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:74)
。
现在两台机器上的程序是一样的,不同在于所用web服务器和数据库链接,成为疑点。或者还有其他方面的原因,希望大家给与指导。测试进行中。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货