Java JPA2.0提供程序Hibernate3.6forDB2V9.5Type2驱动程序在配置预处理中引发异常

Java JPA2.0提供程序Hibernate3.6forDB2V9.5Type2驱动程序在配置预处理中引发异常,java,hibernate,jdbc,db2,jpa-2.0,Java,Hibernate,Jdbc,Db2,Jpa 2.0,JPA2.0提供程序Hibernate在为EntityManager工厂准备配置时引发异常,我使用的是DB2V9.5数据库和DB2V9.5JDBCType2驱动程序 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.SQLExcept

JPA2.0提供程序Hibernate在为EntityManager工厂准备配置时引发异常,我使用的是DB2V9.5数据库和DB2V9.5JDBCType2驱动程序

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) java.sql.SQLException:[IBM][JDBC驱动程序]此版本的DB2 JDBC 2.0驱动程序不支持CLI0626E getDatabaseMajorVersion。 位于COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throwNotSupportedByDB2(未知源) 位于COM.ibm.db2.jdbc.app.DB2DatabaseMetaData.getDatabaseMajorVersion(未知源) 在org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:117)上 位于org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2833) 位于org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2829) 位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1840) 位于org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:902) 位于org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57) 位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:48)
在javax.persistence.persistence.createEntityManagerFactory(persistence.java:32)查看代码:有一个未记录的
hibernate.temp.use\u jdbc\u metadata\u defaults
属性,如果无法更改jdbc驱动程序,将其设置为
false
可能会有所帮助:

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


您能确认驱动程序的JDBC版本和类型吗?你似乎在混合“类型”和“版本”。DB2使用JDBC驱动程序类型4(100%Java)和JDBC 3.0+进行了良好的测试。请提供以下命令的输出:
java com.ibm.db2.jcc.DB2Jcc-version
Thanx,找到了这个hibernate实验代码;这些实验性的代码使得没有源代码的开源变得不可行。你能告诉我们,就hibernate而言,这个属性到底做了什么吗?@SibzTer:它禁用了对有问题的方法的调用。我没有彻底检查它,请查看
设置工厂
的源代码。