【问题标题】:Hibernate and Oracle version compatibilityHibernate 和 Oracle 版本兼容性
【发布时间】: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>

请任何人向我推荐 HibernateOracle 的确切版本匹配。

或者,如果有任何其他解决方案可以解决此 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)
  • 能否贴出出现错误的数据访问方式的代码?

标签: hibernate oracle10g


【解决方案1】:

看起来这个页面可以帮助你 java.sql.SQLException: Exhausted Resultset

根本原因是,您试图在结果集之外循环(与方言或休眠无关,但与代码本身有关)。希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 2018-05-24
    • 2016-07-26
    • 2019-08-27
    • 1970-01-01
    相关资源
    最近更新 更多