【发布时间】:2013-10-12 22:34:17
【问题描述】:
我正在学习 Java EE 和 Hibernate,我遇到了以下问题:
我在 Eclipse 中创建了一个动态 Web 项目,我已经将它转换为一个 MAVEN 项目,将 mysql-connector-java 和 hibernate-core 依赖项添加到 pom.xml。 我添加了一个 servlet,并且在 doGet 方法中,我尝试初始化 sessionfactory 以创建表。我正在使用tomcat。
当我向 servlet 发出请求时,出现以下异常:
org.hibernate.HibernateException: Dialect class not found: org.hibernate.dialect.MYSQLDialect
org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:77)
org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:65)
org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:146)
org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:76)
org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:160)
org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:132)
org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1818)
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1776)
hu.adamsan.testhibernate.TestHibernate.doGet(TestHibernate.java:74)
pom.xml:
dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.26</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.2.6.Final</version>
</dependency>
</dependencies>
我试图查看 Maven 依赖项,org.hibernate.dialect.MySQLDialect.class 在那里,位置:getServletContext().getRealPath(".") ->E:\eclips_jee\workspace。 metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\TestHibernateWeb\ ,在WEB-INF\lib目录下,有hibernate-core-4.2.6.Final.jar,我用7zip打开后,在org/hibernate/dialect/MySQL5Dialect.class里面找到。
我错过了什么?我真的不知道。
doGet 方法:
PrintWriter w = response.getWriter();
w.println("Testing hibernate<br/>");
w.println(getServletContext().getRealPath(".")+"<br/>");
Configuration config;
ServiceRegistry registry;
SessionFactory factory;
config = new Configuration().addAnnotatedClass(Modell.class);
Properties props = getProperties();
props.setProperty(Environment.HBM2DDL_AUTO, "create");
config.setProperties(props);
registry = new ServiceRegistryBuilder().applySettings(props).buildServiceRegistry();
factory = config.buildSessionFactory(registry);
factory.close();
【问题讨论】:
标签: eclipse hibernate maven exception jakarta-ee