首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

,新手学hibernate4.1.4遇到有关问题

2012-06-19 
求助,新手学hibernate4.1.4遇到问题最近学习hibernate,第一个例子就出问题了,解决了几个,有出现一个新的,

求助,新手学hibernate4.1.4遇到问题
最近学习hibernate,第一个例子就出问题了,解决了几个,有出现一个新的,这个没找到方法解决,所以来求助各位前辈!

hibernate.cfg.xml的配置如下:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

  <session-factory>

  <!-- Database connection settings -->
  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="connection.url">jdbc:mysql://localhost/hibernate</property>
  <property name="connection.username">root</property>
  <property name="connection.password">mysql</property>

  <!-- JDBC connection pool (use the built-in) -->
  <!--<property name="connection.pool_size">1</property>-->

  <!-- SQL dialect -->
  <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

  <!-- Enable Hibernate's automatic session context management -->
  <!--<property name="current_session_context_class">thread</property>-->

  <!-- Disable the second-level cache -->
  <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>

  <!-- Echo all executed SQL to stdout -->
  <property name="show_sql">true</property>

  <!-- Drop and re-create the database schema on startup -->
  <!--<property name="hbm2ddl.auto">update</property>-->

  <!--<mapping resource="com/dxd/hibernate/model/Student.hbm.xml"/>-->
  <mapping class="com.dxd.hibernate.model.Student"/>
  </session-factory>

</hibernate-configuration>

Student.java如下:
package com.dxd.hibernate.model;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Student {
  private int id;
  private String name;
  private int age;
  @Id
  public int getId() {
  return id;
  }
  public void setId(int id) {
  this.id = id;
  }
  public String getName() {
  return name;
  }
  public void setName(String name) {
  this.name = name;
  }
  public int getAge() {
  return age;
  }
  public void setAge(int age) {
  this.age = age;
  }
   
}

测试类StudentTest.java如下:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistryBuilder;

import com.dxd.hibernate.model.Student;


public class StudentTest {
  public static void main(String[] args) {
  Student student=new Student();
  student.setId(1);
  student.setName("nihao");
  student.setAge(20);
  Configuration cfg=new Configuration();
  SessionFactory sf=cfg.configure().buildSessionFactory(new ServiceRegistryBuilder().buildServiceRegistry()); //这是第16行
  Session session=sf.openSession();


  session.beginTransaction();
  session.save(student);
  session.getTransaction().commit();
  session.close();
  sf.close();
  }
}

另外因为之前出现过问题,加了一个hibernate.properties文件
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.password=mysql
hibernate.connection.url=jdbc:mysql://localhost/hibernate
hibernate.connection.username=root
hibernate.dialect=org.hibernate.dialect.MySQLDialect

出现的错误信息如下:
2012-6-18 15:19:03 org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
2012-6-18 15:19:03 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.4.Final}
2012-6-18 15:19:03 org.hibernate.cfg.Environment <clinit>
INFO: HHH000205: Loaded properties from resource hibernate.properties: {hibernate.connection.username=root, hibernate.connection.password=****, hibernate.dialect=org.hibernate.dialect.MySQLDialect, hibernate.connection.url=jdbc:mysql://localhost/hibernate, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.driver_class=com.mysql.jdbc.Driver}
2012-6-18 15:19:03 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
2012-6-18 15:19:03 org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
2012-6-18 15:19:03 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
2012-6-18 15:19:03 org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
2012-6-18 15:19:03 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
Exception in thread "main" [color=#333399]org.hibernate.service.classloading.spi.ClassLoadingException: Specified JDBC Driver com.mysql.jdbc.Driver class not found
  at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:107)
  at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
  at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
  at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
  at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:223)
  at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:89)
  at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
  at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
  at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
  at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71)
  at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2277)
  at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2273)
  at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1742)
  at StudentTest.main(StudentTest.java:16)
Caused by: org.hibernate.service.classloading.spi.ClassLoadingException: Unable to load class [com.mysql.jdbc.Driver]
  at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:141)
  at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:104)


  ... 13 more
Caused by: java.lang.ClassNotFoundException: Could not load requested class : com.mysql.jdbc.Driver
  at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl$1.findClass(ClassLoaderServiceImpl.java:99)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
  at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:247)
  at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:138)
  ... 14 more[/color]

[解决办法]
少mysql驱动jar包,你找一下对应的驱动Jar包,build一下就可以了!
[解决办法]
Caused by: java.lang.ClassNotFoundException: Could not load requested class : com.mysql.jdbc.Driver
提示找不到驱动,说明你的项目中缺少mysql的JDBC驱动包,加进去就好了
[解决办法]
jar包你加在哪里了
[解决办法]
build path

热点排行