JPA 2.0 Provider Hibernate 3.6 for DB2 v9.5 type 2

2019-05-27 01:58发布

问题:

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)

回答1:

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" />