/*
 * 实体类
 */
package com.entity;import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import org.hibernate.annotations.Entity;@Entity
public class Weapon {
private int id;
private String name;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
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;
}
}
hibernate配置文件<!--添加使用hibernate注解的实体bean,而不是映射文件-->
<mapping class="com/entity/Weapon" />package com.test;import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;import com.entity.Weapon;/*
 * 测试类
 * 通过在hibernate文件中注册实体bean,并在实体bean中添加
 * hibernate注解,可以自动创建数据库中的关联表并将属性与字段关联
 */
public class TestAnnotations {
private static AnnotationConfiguration ac = new AnnotationConfiguration();

private static SessionFactory sf = null;

public static void main(String[] args) {
ac.configure();
sf = ac.buildSessionFactory();
Session session = sf.openSession();
Transaction tran = session.beginTransaction();
Weapon weapon = new Weapon();
weapon.setName("jack");
session.save(weapon);
tran.commit();
session.close();
}
}错误信息:
java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/ReflectionManager
at com.test.TestAnnotations.<clinit>(TestAnnotations.java:15)
Caused by: java.lang.ClassNotFoundException: org.hibernate.annotations.common.reflection.ReflectionManager
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)
... 1 more
Exception in thread "main" jar包一共23个,按着视频的都添加进去了,后添加的两个是:ejb3-persistence.jar和hibernate-annotations.jar