【问题标题】:Hibernate Dialect for MySQL8MySQL8 的休眠方言
【发布时间】:2020-05-12 13:20:24
【问题描述】:

我在使用 Hibernate 的 Spring 应用程序中遇到错误。我刚刚将数据库mysql版本从5.6升级到8.0。 错误是:

nested exception is org.hibernate.HibernateException: Dialect class not found: org.hibernate.dialect.MySQL8Dialect

在我的 build.gredle 文件中,我包含了以下内容:

dependencies {
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.11'
}

在我的 applicationContext.xml 文件中,我包含了以下内容:

<property name="hibernateProperties">
  <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.jdbc.batch_size">20</prop>
  </props>
</property>

在我的 lib 文件夹中,我还有连接器“mysql-connector-java-8.0.11.jar”。 我不明白为什么方言仍然缺失。请帮忙。 :)

【问题讨论】:

  • 方言是休眠的一部分,而不是 jdbc 驱动程序。没有特定的 MySQL8 方言。有关可用方言的列表,请参阅docs.jboss.org/hibernate/orm/5.4/userguide/html_single/…
  • M.Deinum,我已经按照这个帖子添加了方言:(stackoverflow.com/questions/50322550/…)。顺便说一句,您共享的链接不存在 MySQL8Dialect 所以您能否建议我应该为 MySQL v-8 使用哪种方言
  • 5.7 的那个。事实上没有特定的方言,只需使用最新的。
  • @M.Deinum,我使用了以下行但仍然出现相同的错误 org.hibernate.dialect.MySQL57InnoDB
  • 检查您的休眠版本并查看哪些方言可用。选择一个。

标签: mysql spring hibernate gradle dialect


【解决方案1】:

我使用的是 Hibernate v-3.3.0,它实际上不支持指定的方言。指定hibernate版本的参考链接是(https://javadoc.io/doc/org.hibernate/hibernate-core/3.3.0.CR1/index.html)。感谢M。 Deinum(https://stackoverflow.com/users/2696260/m-deinum) 帮助我找到了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-03
    • 2018-10-23
    • 2015-10-20
    • 1970-01-01
    相关资源
    最近更新 更多