java—在jboss部署时无法加载请求的类:org.hibernate.dialect.db2

y0u0uwnf  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(404)

我正在尝试迁移spring框架和hibernate的版本。对于spring框架,我将版本从3.2.18移到了4.3.20。之后,我将hibernate版本从3.5.6-final升级到5.4.18.final。我做了所有与迁移相关的更改,使我的代码编译免费,并成功地构建了我的应用程序。
但是,在部署本地jboss时,我遇到了一个问题“jdbceenvironmentimpl无法从数据库中获取sequenceinformation,因为
com.ibm.db2.jcc.am.sqlsyntaxerrorexception:db2 sql错误:sqlcode=-204,sqlstate=42704,sqlerrmc=syscat.sequences,driver=4.25.1301。。。。主要原因:org.hibernate.hibernateexception:未设置'hibernate.dialect'时,对方言解析信息的访问不能为空。
我在项目的应用程序上下文xml(即hibernate配置文件)中有以下条目(即,在迁移之前的现有代码中)。

"hibernate.dialect"=org.hibernate.dialect.DB2Dialect(inside property xml tag)

我已经把这个方言名称改成了db2方言的所有变体(例如,db2400方言、db2390方言、db297方言等等),但运气不好。在浏览了不同的博客之后,我发现对于Hibernate5,实际的db2方言是“org.hibernate.dialect.db2”,而不是“org.hibernate.dialect.db2dialect”。
在我的应用程序中使用了这个新的方言之后,我现在-
“无法将名称[org.hibernate.dialect.db2]解析为策略[org.hibernate.dialect.dialect]……无法加载类[org.hibernate.dialect.db2]”。
谁能帮我一下吗。请建议在jboss运行时需要做些什么来解决这个问题,以便我可以部署我的应用程序。

qv7cva1a

qv7cva1a1#

根据hibernate5.4用户指南/数据库方言,应该 hibernate.dialect=DB2 (不带) org.hibernate.dialect )
引用表中的db2值为:
db2:支持db2数据库,版本8.2。
db297:支持db2数据库9.7版。
db2390:支持db2universaldatabaseforos/390,也称为db2/390。
db2400:支持db2universaldatabaseforiseries,也称为db2/400。
db2400v7r3:支持db2universaldatabasefori,也称为db2/400,版本7.3

相关问题