严重: ORA-00001: 违反唯一约束条件

南山隐者 2011-05-04 09:24:14
插入数据的时候报的这个问题,大家给看看。

Hibernate:
select
hibernate_sequence.nextval
from
dual
Hibernate:
insert
into
MAP_T_RELAY_STATION
(DATA_GUID, RELAY_STATION_NAME, X, Y, RELAY_STATION_ID)
values
(?, ?, ?, ?, ?)
2011-5-4 9:21:48 org.hibernate.util.JDBCExceptionReporter logExceptions
警告: SQL Error: 1, SQLState: 23000
2011-5-4 9:21:48 org.hibernate.util.JDBCExceptionReporter logExceptions
严重: ORA-00001: 违反唯一约束条件 (JMJL.MAP_T_RELAY_STATION_KEY)

2011-5-4 9:21:48 org.hibernate.util.JDBCExceptionReporter logExceptions
警告: SQL Error: 1, SQLState: 23000
2011-5-4 9:21:48 org.hibernate.util.JDBCExceptionReporter logExceptions
严重: ORA-00001: 违反唯一约束条件 (JMJL.MAP_T_RELAY_STATION_KEY)

2011-5-4 9:21:48 org.hibernate.event.def.AbstractFlushingEventListener performExecutions
严重: Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:249)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:655)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy0.saveRelayStation(Unknown Source)
at com.adam.dev.service.RelayStationService.saveRelayStation(RelayStationService.java:37)
at com.adam.dev.action.RelayStationAction.saveRelayStation(RelayStationAction.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
at org.apache.struts.actions.MappingDispatchAction.execute(MappingDispatchAction.java:166)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.BatchUpdateException: ORA-00001: 违反唯一约束条件 (JMJL.MAP_T_RELAY_STATION_KEY)

at oracle.jdbc.dbaccess.DBError.throwBatchUpdateException(DBError.java:459)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:3907)
at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:294)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
... 62 more
...全文
10732 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
墨客君 2012-10-12
  • 打赏
  • 举报
回复
设置sequence启始大小,start with 改成比主键ID大,就可以了。
沙漏哟 2012-07-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

引用 1 楼 xumeng929 的回复:

违反唯一约束条件 (JMJL.MAP_T_RELAY_STATION_KEY)

这个问题很简单,就是你插入的数据,违反了数据表结构的设计.你有一个或则几个字段设计了唯一性约束,可你现在插入的数据不唯一了

这个意思我知道。 现在是通过sequence生成的id,这个id是唯一性约束的。
所以现在晕了
[/Quote]请问现在解决了吗
y591174893 2012-06-11
  • 打赏
  • 举报
回复
求解答!
zqwblog 2012-03-12
  • 打赏
  • 举报
回复
我也碰到了 求解答
xumeng929 2011-05-04
  • 打赏
  • 举报
回复
检查其它字段是否也有唯一性约束,还有你的sequence是不是没有设置好,就是sequence下一个值是否在数据库中已经有了
南山隐者 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xumeng929 的回复:]

违反唯一约束条件 (JMJL.MAP_T_RELAY_STATION_KEY)

这个问题很简单,就是你插入的数据,违反了数据表结构的设计.你有一个或则几个字段设计了唯一性约束,可你现在插入的数据不唯一了
[/Quote]
这个意思我知道。 现在是通过sequence生成的id,这个id是唯一性约束的。
所以现在晕了
xumeng929 2011-05-04
  • 打赏
  • 举报
回复
违反唯一约束条件 (JMJL.MAP_T_RELAY_STATION_KEY)

这个问题很简单,就是你插入的数据,违反了数据表结构的设计.你有一个或则几个字段设计了唯一性约束,可你现在插入的数据不唯一了

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧