JPA 2.0 Provider Hibernate 3.6 for DB2 v9.5 type 2 驱动程序在配置准备中抛出异常

2022-01-14 00:00:00 db2 jdbc java Hibernate jpa-2.0

JPA 2.0 Provider Hibernate 在为实体管理器工厂准备配置时抛出异常,我使用的是 DB2 v9.5 数据库和 DB2 v9.5 JDBC type 2 驱动程序.

The JPA 2.0 Provider Hibernate is throwing exception while preparing configuration for entity manager factory, I am using DB2 v9.5 database and DB2 v9.5 JDBC type 2 driver .

java.sql.SQLException: [IBM][JDBC Driver] CLI0626E  getDatabaseMajorVersion is not supported in this version of DB2 JDBC 2.0 driver.
 at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throwNotSupportedByDB2(Unknown Source)
 at COM.ibm.db2.jdbc.app.DB2DatabaseMetaData.getDatabaseMajorVersion(Unknown Source)
 at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:117)
 at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2833)
 at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2829)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1840)
 at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:902)
 at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
 at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
 at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)

推荐答案

看代码:有一个未记录的hibernate.temp.use_jdbc_metadata_defaults属性,设置为false 可能会有所帮助:

From looking at the code: there is an undocumented hibernate.temp.use_jdbc_metadata_defaults property, setting it to false may help if you can't change JDBC driver:

<property name = "hibernate.temp.use_jdbc_metadata_defaults" value = "false" />

相关文章