spring boot中错误 Table '*****.hibernate_sequence' doesn't exist

本文详细描述了在使用Hibernate框架时遇到的主键自增问题,具体表现为尝试读取hibernate_sequence表中的值时出现SQL语法错误。文章提供了具体的错误堆栈跟踪,并给出了在实体类中添加@GeneratedValue注解的解决方案,成功实现了主键自增。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在运行时出现了 这样的错误

Hibernate: select next_val as id_val from hibernate_sequence for update
2018-11-26 11:03:28,506 - could not read a hi value
java.sql.SQLSyntaxErrorException: Table 'imooc.hibernate_sequence' doesn't exist
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:974)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1024)
	at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)

如何更正:

// 在entity实体类中 给id添加此行代码  使id自增  
@GeneratedValue(strategy = GenerationType.IDENTITY) // 设置主键自增

      终于解决这个问题了, 很爽快!

 

javax.ejb.EJBException: EJB Exception: ; nested exception is: javax.ejb.EJBException: 异常:saveOrder,SQLSyntaxErrorException: Table 'mes.SEQUENCE' doesn't exist,{"id":null,"orderNo":"11_ORD_202508050844","productCode":"12","attrValue":"111","money":null,"payType":1,"createTime":1754354639848,"createBy":null,"updateTime":null,"updateBy":null,"remark":null}; nested exception is: java.rmi.RemoteException: EJB Exception: ; nested exception is: javax.ejb.EJBException: 异常:saveOrder,SQLSyntaxErrorException: Table 'mes.SEQUENCE' doesn't exist,{"id":null,"orderNo":"11_ORD_202508050844","productCode":"12","attrValue":"111","money":null,"payType":1,"createTime":1754354639848,"createBy":null,"updateTime":null,"updateBy":null,"remark":null} at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:117) at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:92) at com.sun.proxy.$Proxy4.saveOrUpdateProductOrder(Unknown Source) at junit.OrderJunit.getProductOrder(OrderJunit.java:67) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) Caused by: java.rmi.RemoteException: EJB Exception: ; nested exception is: javax.ejb.EJBException: 异常:saveOrder,SQLSyntaxErrorException: Table 'mes.SEQUENCE' doesn't exist,{"id":null,"orderNo":"11_ORD_202508050844","productCode":"12","attrValue":"111","money":null,"payType":1,"createTime":1754354639848,"createBy":null,"updateTime":null,"updateBy":null,"remark":null} at weblogic.utils.StackTraceDisabled.unknownMethod() Caused by: javax.ejb.EJBException: 异常:saveOrder,SQLSyntaxErrorException: Table 'mes.SEQUENCE' doesn't exist,{"id":null,"orderNo":"11_ORD_202508050844","productCode":"12","attrValue":"111","money":null,"payType":1,"createTime":1754354639848,"createBy":null,"updateTime":null,"updateBy":null,"remark":null} ... 1 more
最新发布
08-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值