org.hibernate.exception.SQLGrammarException:升级到 hibernate 5 后无法提取 ResultSet SQLGrammarException:无法执行查询
温馨提示:
本文最后更新于 2024年04月12日,已超过 48 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
I am upgrading my project's tech stack and in the middle of upgrading to hibernate 5.6.15.FINAL
I have made the majority of upgrades and my application is presenting when i go to localhost but it crashes pretty quick after startup with the following error.
I am pretty sure it is something to do with the proxy but unsure what? maybe i am totally off, but struggling to see what is wrong
i have put everything down below which i think you would need - but if you want to know anything else, just let me know
org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:195) ~[spring-orm-5.3.30.jar:5.3.30]
at org.springframework.orm.hibernate5.HibernateExceptionTranslator.convertHibernateAccessException(HibernateExceptionTranslator.java:102) ~[spring-orm-5.3.30.jar:5.3.30]
at org.springframework.orm.hibernate5.HibernateExceptionTranslator.translateExceptionIfPossible(HibernateExceptionTranslator.java:73) ~[spring-orm-5.3.30.jar:5.3.30]
at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.30.jar:5.3.30]
at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243) ~[spring-tx-5.3.30.jar:5.3.30]
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.30.jar:5.3.30]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.30.jar:5.3.30]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241) ~[spring-aop-5.3.30.jar:5.3.30]
at com.sun.proxy.$Proxy90.findCurrentAlarmByType(Unknown Source) ~[?:?]
at com.application.alarm.domain.AlarmRootImpl.checkForCurrentAlarmByType(AlarmRootImpl.java:79) ~[classes/:?]
at com.service.alarm.AlarmServiceImpl.getCurrentAlarmsByType_aroundBody22(AlarmServiceImpl.java:183) ~[classes/:?]
at com.service.alarm.AlarmServiceImpl$AjcClosure23.run(AlarmServiceImpl.java:1) ~[classes/:?]
at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96cproceed(AbstractTransactionAspect.aj:67) ~[spring-aspects-5.3.30.jar:5.3.30]
at org.springframework.transaction.aspectj.AbstractTransactionAspect$AbstractTransactionAspect$1.proceedWithInvocation(AbstractTransactionAspect.aj:73) ~[spring-aspects-5.3.30.jar:5.3.30]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.30.jar:5.3.30]
at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:71) ~[spring-aspects-5.3.30.jar:5.3.30]
at com.service.alarm.AlarmServiceImpl.getCurrentAlarmsByType(AlarmServiceImpl.java:182) ~[classes/:?]
at com.application.dataload.HeartbeatMapForceMonitor.checkReceivedStatus(HeartbeatMapForceMonitor.java:54) ~[classes/:?]
at com.application.dataload.gas.GasMonitor.run_aroundBody0(GasMonitor.java:188) ~[classes/:?]
at com.application.dataload.gas.GasMonitor$AjcClosure1.run(GasMonitor.java:1) ~[classes/:?]
at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96cproceed(AbstractTransactionAspect.aj:67) ~[spring-aspects-5.3.30.jar:5.3.30]
at org.springframework.transaction.aspectj.AbstractTransactionAspect$AbstractTransactionAspect$1.proceedWithInvocation(AbstractTransactionAspect.aj:73) ~[spring-aspects-5.3.30.jar:5.3.30]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.30.jar:5.3.30]
at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:71) ~[spring-aspects-5.3.30.jar:5.3.30]
at com.application.dataload.gas.GasMonitor.run(GasMonitor.java:61) ~[classes/:?]
at com.application.scheduling.SchedulableGasMeteringMonitor.executeJob(SchedulableGasMeteringMonitor.java:18) ~[classes/:?]
at com.application.scheduling.AbstractSchedulable.execute(AbstractSchedulable.java:36) ~[classes/:?]
at com.application.scheduling.domain.quartz.SchedulableExecutingQuartzJob.execute(SchedulableExecutingQuartzJob.java:20) ~application-plus-1.1.0-SNAPSHOT.jar:?]
at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-2.3.2.jar:?]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) ~[quartz-2.3.2.jar:?]
Caused by: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:63) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:37) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:67) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.getResultSet(Loader.java:2322) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2075) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2037) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.doQuery(Loader.java:956) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:357) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.doList(Loader.java:2868) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.doList(Loader.java:2850) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2682) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.list(Loader.java:2677) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1922) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:370) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:392) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at com.application.alarm.dao.hibernate.AlarmHibernateDao.findCurrentAlarmByType(AlarmHibernateDao.java:56) ~[classes/:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.30.jar:5.3.30]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.30.jar:5.3.30]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.30.jar:5.3.30]
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.30.jar:5.3.30]
... 24 more
This is the method that is tripping over
import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
...
@Override
public Alarm findCurrentAlarmByType(AlarmType alarmType) {
Criteria criteria = createCriteria();
criteria.add(Restrictions.eq("alarmCurrent", true));
criteria.add(Restrictions.eq("alarmType", alarmType));
return (Alarm) criteria.uniqueResult();
}
here is the hibernate xml mapping file associated as well
<hibernate-mapping default-access="field">
<typedef name="AlarmCategory" class="com.application.core.dao.hibernate.usertype.EnumUserType">
<param name="enumClassName">com.application.alarm.domain.AlarmCategory</param>
</typedef>
<typedef name="AlarmType" class="com.application.core.dao.hibernate.usertype.EnumUserType">
<param name="enumClassName">com.application.alarm.domain.AlarmType</param>
</typedef>
<typedef name="AlarmPriority" class="com.application.core.dao.hibernate.usertype.EnumUserType">
<param name="enumClassName">com.application.alarm.domain.AlarmPriority</param>
</typedef>
<class name="com.application.alarm.domain.AlarmImpl" table="ALARM">
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">ALARM_ID_SEQ</param>
</generator>
</id>
<property name="alarmCategory" type="AlarmCategory">
<column name="ALARM_CATEGORY" precision="22" scale="0" not-null="true" />
</property>
<property name="alarmType" type="AlarmType">
<column name="ALARM_TYPE" precision="22" scale="0" not-null="true" />
</property>
<property name="alarmStartTime" type="DateTime">
<column name="ALARM_START_TIME" length="7" not-null="true" />
</property>
<property name="alarmEndTime" type="DateTime">
<column name="ALARM_END_TIME" length="7" not-null="false" />
</property>
<property name="alarmPriority" type="AlarmPriority">
<column name="ALARM_PRIORITY" precision="22" scale="0" not-null="true" />
</property>
<property name="alarmCurrent" type="yes_no">
<column name="ALARM_CURRENT"/>
</property>
<property name="alarmAck" type="yes_no">
<column name="ALARM_ACK"/>
</property>
<property name="localisedParamString" type="java.lang.String">
<column name="LOCALISED_PARAM" length="200" />
</property>
<many-to-one name="storageUser" class="com.application.contractMaintenance.domain.StorageUserImpl" fetch="select">
<column name="STORAGE_USER_ID" precision="22" scale="0" not-null="false" />
</many-to-one>
</class>
</hibernate-mapping>
side note
i also get a further error just after but not sure if it is in relation to this - thought it would be good info to include
```Caused by: java.sql.SQLSyntaxErrorException: ORA-01722: invalid number
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:553) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:269) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:270) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:91) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:807) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:983) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3666) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1426) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3713) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1167) ~[ojdbc10-19.10.0.0.jar:19.10.0.0.0]
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) ~[commons-dbcp-1.4.jar:1.4]
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) ~[commons-dbcp-1.4.jar:1.4]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.getResultSet(Loader.java:2322) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2075) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2037) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.doQuery(Loader.java:956) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:357) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.doList(Loader.java:2868) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.doList(Loader.java:2850) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2682) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.Loader.list(Loader.java:2677) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1922) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:370) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:392) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at com.application.alarm.dao.hibernate.AlarmHibernateDao.findCurrentAlarmByType(AlarmHibernateDao.java:56) ~[classes/:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.30.jar:5.3.30]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.30.jar:5.3.30]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.30.jar:5.3.30]
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.30.jar:5.3.30]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.30.jar:5.3.30]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241) ~[spring-aop-5.3.30.jar:5.3.30]
at com.sun.proxy.$Proxy90.findCurrentAlarmByType(Unknown Source) ~[?:?]
at com.application.alarm.domain.AlarmRootImpl.checkForCurrentAlarmByType(AlarmRootImpl.java:79) ~[classes/:?]
at com.service.alarm.AlarmServiceImpl.getCurrentAlarmsByType_aroundBody22(AlarmServiceImpl.java:183) ~[classes/:?]
at com.service.alarm.AlarmServiceImpl$AjcClosure23.run(AlarmServiceImpl.java:1) ~[classes/:?]
at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96cproceed(AbstractTransactionAspect.aj:67) ~[spring-aspects-5.3.30.jar:5.3.30]
at org.springframework.transaction.aspectj.AbstractTransactionAspect$AbstractTransactionAspect$1.proceedWithInvocation(AbstractTransactionAspect.aj:73) ~[spring-aspects-5.3.30.jar:5.3.30]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.30.jar:5.3.30]
at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:71) ~[spring-aspects-5.3.30.jar:5.3.30]
at com.service.alarm.AlarmServiceImpl.getCurrentAlarmsByType(AlarmServiceImpl.java:182) ~[classes/:?]
at com.application.dataload.HeartbeatMapForceMonitor.checkReceivedStatus(HeartbeatMapForceMonitor.java:54) ~[classes/:?]
at com.application.dataload.gas.GasMonitor.run_aroundBody0(GasMonitor.java:188) ~[classes/:?]
at com.application.dataload.gas.GasMonitor$AjcClosure1.run(GasMonitor.java:1) ~[classes/:?]
at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96cproceed(AbstractTransactionAspect.aj:67) ~[spring-aspects-5.3.30.jar:5.3.30]
at org.springframework.transaction.aspectj.AbstractTransactionAspect$AbstractTransactionAspect$1.proceedWithInvocation(AbstractTransactionAspect.aj:73) ~[spring-aspects-5.3.30.jar:5.3.30]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.30.jar:5.3.30]
at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:71) ~[spring-aspects-5.3.30.jar:5.3.30]
at com.application.dataload.gas.GasMonitor.run(GasMonitor.java:61) ~[classes/:?]
at com.application.scheduling.SchedulableGasMeteringMonitor.executeJob(SchedulableGasMeteringMonitor.java:18) ~[classes/:?]
at com.application.scheduling.AbstractSchedulable.execute(AbstractSchedulable.java:36) ~[classes/:?]
at com.application.scheduling.domain.quartz.SchedulableExecutingQuartzJob.execute(SchedulableExecutingQuartzJob.java:20) ~[hydrocarbon-plus-1.1.0-SNAPSHOT.jar:?]
at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-2.3.2.jar:?]
... 1 more
正文到此结束
- 本文标签: 家庭宠物
- 本文链接: https://www.coder6.net/article/2200
- 版权声明: 本文由蚂蚁原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
热门推荐
-
浏览(193) 评论(0)