ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Hibernate:error: javax/persistence/EntityListeners

Hibernate:error: javax/persistence/EntityListeners

原创 Linux操作系统 作者:Deadmonth 时间:2011-05-12 10:39:31 0 删除 编辑
Hibernate 错误
Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/EntityListeners
 at org.hibernate.cfg.annotations.reflection.JPAMetadataProvider.getDefaults(JPAMetadataProvider.java:96)
 at org.hibernate.annotations.common.reflection.java.JavaReflectionManager.getDefaults(JavaReflectionManager.java:226)
 at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1358)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1829)
 at src.StudentTest.main(StudentTest.java:18)
Caused by: java.lang.ClassNotFoundException: javax.persistence.EntityListeners
 at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
 ... 5 more
我的hibernate版本是hibernate-distribution-3.6.3.Final
 
我的Hibernate项目要导入的jar 包有
(1)hibernate3.jar
(2)hibernate-distribution-3.6.3.Final\lib\required文件中所有jar包
 (3)是从http://www.slf4j.org/  上下载的slf4j-1.6.1.zip 中的
slf4j-1.6.1\slf4j-nop-1.6.1.jar
 
  (4)不要忘了在项目在要导入数据库的驱动jar包
我用的mysql   ------->mysql-connector-java-5.1.15-bin.jar
 
 
测试hibernate的代码如下
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.test.hibernate.Student;
public class StudentTest {
 public static void main(String[] args) {
  Student s = new Student();
  s.setId(2);
  s.setName("s1");
  s.setAge(1);
  SessionFactory sessionFactory = new Configuration().configure()
    .buildSessionFactory();
  Session session = sessionFactory.openSession();
  Transaction tx = session.beginTransaction();
  session.save(s);
  tx.commit();
  session.close();
 }
}
 
解决方法是:
javax.persistence.Cacheable 是 JPA 2.0 规范中的东西!
需要加入hibernate-distribution-3.6.3.Final\ lib\ jpa目录下的
hibernate-jpa-2.0-api-1.0.0.Final.jar加到web工程的lib包下
 
就可以解决上面的问题!!
第一个Hibernate程序就此可以解决!
 
我的第一个HelloWorld程序
第一步、导入所有用的jar 包
第二步、创建一个数据库,再建一个空表Student。
第三步、在工程Helloworld中建一个Student.java文件----
创建的属性 与数据库中的表中的属性值相同,然后与建一个JavaBean一样
 
第四步、配置hibernate.cfg.xml
第五步、配置Student.hbm.xml
第六步、运行test代码,到数据库中可以查看结果。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25436591/viewspace-695087/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-02

  • 博文量
    18
  • 访问量
    44930