无法加载请求的类:org.hibernate.MySQL5InnoDBDialect

时间:2015-03-25 16:43:44

标签: java spring oracle hibernate

我有一个使用Hibernate和MySQL后端的HelloWorld Java Spring MVC应用程序。除了第一个单词外,最后一句中的所有名词对我来说都是新的。

我收到此错误:

Could not load requested class : org.hibernate.MySQL5InnoDBDialect

我的jpaContext文件看起来包含:

                                                  

<!-- Properties specific to Hibernate -->
<property name="jpaPropertyMap">
    <map>
        <entry key="hibernate.dialect" value="org.hibernate.MySQL5InnoDBDialect"></entry> 
        <entry key="hibernate.hbm2ddl.auto" value="create"/>
        <entry key="hibernate.format_sql" value="true"/>
    </map>
</property>

如果我注释掉该行

org.hibernate.MySQL5InnoDBDialect

我的应用程序将创建Java代码中引用的带注释表。

但是,我正在关注一个演示,其中可能使用了与我安装的不同版本的MySQL。

如果我在MySql中运行以下命令:

select version()

返回:

'5.6.23-log'

如何修改上述问题行告诉Hibernate我正在使用哪种MySql方言?

1 个答案:

答案 0 :(得分:1)

hibernate.dialect 键的值是错误的。它应该是org.hibernate。 dialect .MySQL5InnoDBDialect。

org.hibernate.dialect类MySQL5InnoDBDialect

java.lang.Object
  extended by org.hibernate.dialect.Dialect
      extended by org.hibernate.dialect.MySQLDialect
          extended by org.hibernate.dialect.MySQL5Dialect
              extended by org.hibernate.dialect.MySQL5InnoDBDialect

所以正确的输入将是

<entry key="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>