【发布时间】:2020-01-21 09:15:30
【问题描述】:
我有一个使用 Oracle 10g 进行数据库持久性的 Struts-Hibernate 应用程序。在运行应用程序时,有时在执行 SQL 查询时,我会遇到如下异常:
org.hibernate.exception.GenericJDBCException: 无法执行查询
我通过google查了一下,发现可能是由于Hibernate和Oracle(数据库)版本不匹配造成的。
以下是链接,但找不到合适的解决方案: Hibernate 3.3.0 compatibility with Oracle 12c
Version Mismatch between Hiberate and Database
我想知道,这两者有没有兼容性矩阵,以便我们正确了解我们需要使用哪个版本:
我的休眠版本是:4.3.11 final
我的预言机版本是:10G
下面是 Maven 依赖:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>6.0.0.0</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.11.Final</version>
</dependency>
在hibernate.cfg.xml中,方言被提及为:
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
请任何人向我推荐 Hibernate 和 Oracle 的确切版本匹配。
或者,如果有任何其他解决方案可以解决此 GenericJDBCException,也请提出建议。
【问题讨论】:
-
通常,休眠异常在完整堆栈跟踪中具有“引起”。是否有任何其他异常详细信息,例如“原因:”?
-
是的,休眠异常有一个“原因”部分:原因:java.sql.SQLException: Exhausted Resultsset 在 oracle .jdbc.driver.OracleResultSetImpl.getDate(OracleResultSetImpl.java:732) 在 oracle.jdbc.driver.OracleResultSet.getDate(OracleResultSet.java:410) 在 com.mchange.v2.c3p0.impl。 NewProxyResultSet.getDate(NewProxyResultSet.java:2988)
-
能否贴出出现错误的数据访问方式的代码?