我有一个HelloWorld Java Spring MVC应用程序,它使用Hibernate和MySQL后端。除了第一个单词外,最后一句中的所有名词对我来说都是新的。
我得到这个错误:
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的哪种方言?
hibernate。方言键的值错误。它应该是org.hibernate。方言.MySQL5InnoDB方言.
org.hibernate.dialect类MySQL5InnoDB方言
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"/>