我有一个使用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方言?
答案 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"/>