如何解决“找不到方言类:org.hibernate.dialect.MYSQLDialect”的exception?

我是一个非常新的冬眠,所以我通过看video教程练习。 我关注的链接是,

这是eclipse中简单的java项目。 这里我使用mysql数据库。 这是我的Hibernate.cfg.xml文件,

com.mysql.jdbc.Driver jdbc:mysql:// localhost:3306 / hibernatedb root root

 1  org.hibernate.dialect.MYSQLDialect  org.hibernate.cache.NoCacheProvider  true  create   

我收到这种错误,

 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Exception in thread "main" org.hibernate.HibernateException: Dialect class not found: org.hibernate.dialect.MYSQLDialect at org.hibernate.dialect.resolver.DialectFactory.constructDialect(DialectFactory.java:159) at org.hibernate.dialect.resolver.DialectFactory.buildDialect(DialectFactory.java:99) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:117) at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2863) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2859) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1870) at com.aurodisplay.hibernate.HibernateTest.main(HibernateTest.java:17) Caused by: java.lang.ClassNotFoundException: org.hibernate.dialect.MYSQLDialect at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:192) at org.hibernate.dialect.resolver.DialectFactory.constructDialect(DialectFactory.java:156) 

任何人都可以帮助我。

答案就在这个问题上。 您在jar文件中找到了MySQLDialect ,但您的配置文件尝试使用MYSQLDialect.Java is case-sensitive

尝试改为下面

 org.hibernate.dialect.MySQLDialect 

如果您使用的是属性文件,请确保该行末尾没有空格。

 hibernate.dialect=org.hibernate.dialect.MySQLDialect