【问题标题】:HibernateException Unable to construct requested dialect Oracle10gDialectHibernateException 无法构造请求的方言 Oracle10gDialect
【发布时间】:2020-02-18 05:35:52
【问题描述】:

在 jboss EAP 7.2 中部署我们的应用程序时,我们遇到了 HibernateException。 你能看看并提出一些解决这个问题的方法吗?提前致谢。

2019-10-18 14:27:07,422 错误 [org.jboss.msc.service.fail] (ServerService 线程池 -- 89) MSC000001: 启动服务失败 jboss.persistenceunit."ddm.ear/apps.ddm.ddm-repository.jar#ddm-repository": 服务中的 org.jboss.msc.service.StartException jboss.persistenceunit."ddm.ear/apps.ddm.ddm-repository.jar#ddm-repository": org.hibernate.service.spi.ServiceException:无法创建请求 服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 在 org.jboss.as.jpa.service.PersistenceUnitServiceImpl.run(PersistenceUnitServiceImpl.java:195) 在 org.jboss.as.jpa.service.PersistenceUnitServiceImpl.run(PersistenceUnitServiceImpl.java:125) 在 org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:650) 引起:org.hibernate.service.spi.ServiceException:无法 创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275) 原因:org.hibernate.HibernateException:无法构造请求的方言 [org.hibernate.dialect.Oracle10gDialect] 在 org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:84) 在 org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:51) at Caused by: java.lang.ClassCastException: org.hibernate.dialect.Oracle10gDialect 无法转换为 org.hibernate.dialect.方言 在 org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:74) ... 29 更多

pom.xml, Persistence.xml, Jboss-deployment-structure.xml

【问题讨论】:

    标签: hibernate jboss persistence.xml jboss-eap-7


    【解决方案1】:

    原因:java.lang.ClassCastException:org.hibernate.dialect.Oracle10gDialect 无法转换为 org.hibernate.dialect.Dialect

    这很可能意味着您的类路径中有重复的类,使 JVM 抱怨分配不兼容。我建议检查类路径上有哪些 jar。

    【讨论】:

      【解决方案2】:

      你可以检查你的hibernate配置,hibernate.dialect(可能在hibernate.properties)应该选择对应你的oracle版本例如:Oracle8iDialect、Oracle9iDialect和Oracle10gDialect

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-16
        • 2017-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-17
        • 1970-01-01
        相关资源
        最近更新 更多