专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java Web开发

求达人解决hibernate的版本使用有关问题

发布时间:2010-05-31 02:18:57 文章来源:www.iduyao.cn 采编人员:星星草
求达人解决hibernate的版本使用问题
同一个最简单的hibernate程序,测试程序直接就直接写了一个最简单的测试类,,student只有简单的3个属性 id age name 3个属性以及他们的get/set方法

用的jar包都是required里的6个jar包和hibernate3jar包以及对应的slf4j的jar包一共8个

XML一共2个 一个hibernate.cfg.xml和Student.hbm.xml 都是从参考文档里copy加改的
用hibernate3.5.0的jar包测试程序可以通过
但是换成hibernate3.6.8的jar包就报:

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:1385)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1856)
at StudentTest.main(StudentTest.java:17)
Caused by: java.lang.ClassNotFoundException: javax.persistence.EntityListeners
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)



谁能告诉我为什么。。还有3.6.8这些新的版本怎么用才能通过测试

Student.java
package com.qianm.hibernate.model;

public class Student { 


private int id;
private int age;
private String name;


public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}



}

StudentTset.java


import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.qianm.hibernate.model.Student;

public class StudentTest {

public static void main(String[] args) {

Student s = new Student();
s.setId(4);
s.setName("s4");
s.setAge(4);
Configuration cfg = new Configuration();
SessionFactory sf = cfg.configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();//hibernate 里操作放在事务(transaction)里面
session.save(s);
session.getTransaction().commit();
session.close();
sf.close();


}

}

XML 配置文件就不贴了  
上两个版本的hibernate使用的是一样的XML

------解决方案--------------------
java.lang.NoClassDefFoundError: javax/persistence/EntityListeners 解决方案
------解决方案--------------------
这是马士兵讲hibernate的第一个例子吧,呵呵
加上hibernate-jpa-2.0-api-1.0.1.Final.jar就行了,就在hibernate的包里
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: