gpt4 book ai didi

hibernate - 是 Hibernate、PostgreSQL 还是 Spring Boot : Unexpected error trying to gauge level of JDBC REF_CURSOR support : null

转载 作者:行者123 更新时间:2023-11-29 11:31:24 25 4
gpt4 key购买 nike

在我的项目中使用 PostgreSQL JDBC 驱动程序时,我收到一个奇怪的错误,指出“试图衡量 JDBC REF_CURSOR 支持级别的意外错误:空”

它会导致我的应用程序在启动时挂起 80 到 300 秒之间的任何时间。启动后一切正常。我正在使用以下驱动程序版本:

(Gradle 依赖样式)'org.postgresql:postgresql:9.3-1102-jdbc41'

我的应用程序是一个 Spring Boot 应用程序,挂起发生在启动该应用程序时。

我在打开 Hibernate 日志记录后看到了错误。完整日志位于以下粘贴处。

http://pastebin.com/CAjSyQw9

在它到达该粘贴中日志的最后一行之后,应用程序会挂起八十到三百秒,通常平均挂起大约 100 秒。该应用程序仍然可以正常启动并按预期工作。

这种错误看起来像是 JDBC 驱动程序的问题吗?

关于这个主题有一个类似的 SO 问题 here .

编辑 1:

我的 paste bin paste 的第 69 行和第 70 行似乎发生了一些非常奇怪的事情。看起来我指定的 org.postgresql.Dialect 方言正在更改为某些 MySQL 东西。

[org.hibernate.dialect.Dialect] : [MySQL5] -> [org.hibernate.dialect.MySQL5Dialect] (replacing [org.hibernate.dialect.MySQL5Dialect])
2014-10-16 08:05:50.561 DEBUG 36916 --- [ost-startStop-1] o.h.b.r.s.internal.StrategySelectorImpl : Registering named strategy selector [org.hibernate.dialect.Dialect] : [MySQL5InnoDB] -> [org.hibernate.dialect.MySQL5InnoDBDialect] (replacing [org.hibernate.dialect.MySQL5InnoDBDialect])

最佳答案

我遇到了同样的问题。我修复了它……呃……通过添加答案 here 中定义的系统属性来解决它.

这与 Hibernate 和 Postgresql 查找数据库元数据的方式有关。如果数据库中有很多数据类型,这个过程可能会花费很长时间,因为每种数据类型都需要一个 SQL 往返信息。下面定义的系统属性绕过整个元数据检索并使用 Postgresql 的 Hibernate 默认值。

-Dhibernate.temp.use_jdbc_metadata_defaults=false

希望这对其他人有帮助。

关于hibernate - 是 Hibernate、PostgreSQL 还是 Spring Boot : Unexpected error trying to gauge level of JDBC REF_CURSOR support : null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26407285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com