我有一个Struts-Hibernate应用程序,它将Oracle 10g用于数据库持久性。在运行应用程序时,有时在执行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
我的oracle版本是: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,请也建议。
根本原因是,您试图在结果集之外循环(与方言或休眠无关,但在代码本身上)。希望对您有所帮助。