基础teacher类:
package com.bjsxt.hibernate;import javax.persistence.Entity;
import javax.persistence.Id;@Entity
public class Teacher {
private int id;
private String name;
private String title;

@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 String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}配置文件
hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/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">345486</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.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/bjsxt/hibernate/Student.hbm.xml"/>-->
<mapping class="com.bjsxt.hibernate.Teacher" /> 
    </session-factory></hibernate-configuration>
测试类:
/HibernatePG1/src/com/bjsxt/hibernate/TeacherTest.javapackage com.bjsxt.hibernate;import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class TeacherTest {
public static void main(String[] args) {

Teacher t = new Teacher();
t.setId(1);
t.setName("t1");
t.setTitle("middle");

SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
session.save(t);
session.getTransaction().commit();
}
}测试结果,异常:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/Cacheable
at org.hibernate.cfg.AnnotationBinder.determineCacheSettings(AnnotationBinder.java:946)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:589)
at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:636)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:359)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1377)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
at com.bjsxt.hibernate.TeacherTest.main(TeacherTest.java:16)
Caused by: java.lang.ClassNotFoundException: javax.persistence.Cacheable
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 7 more

解决方案 »

  1.   

    bjsxt 。。嘿嘿。马士兵。。一般来说,是配置文件出问题了,你可以把老马的配置文件源码给复制过去,看看有没有问题。
      

  2.   

    是jar包的问题 !hibernate-distribution-3.5.0-Final +  annotation3.4.x.zip~~ 
    不兼容的问题 。官网提示:好像在3.5 annotation 合并在一起了 。具体,怎么合并的,我也没看明白 ,所以下载了 3.4的annotation ,出现了问题 。
      

  3.   

    Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/Cacheable
    找不到类啊,少了jar包
      

  4.   

    楼主你少了这个jar包
    hibernate-distribution-3.5.2-Final\lib\jpa\hibernate-jpa-2.0-api-1.0.0.Final.jar