最近项目比较清闲,觉得hibernate Annotation是一个发展趋势,就学学吧。
首先把需要的jar包拷到classpath目录下,需要的jar包目录结构如下:
然后把hibernate.cfg.xml拷贝到src目录下,然后配置相关的参数
然后创建一个pojo,在实体类的头部加一个注解
@Entity
public class Demo(){
private Long id;
private String name;
//省略get/set
//在ID的get方法上加入一个注解
@Id
public Long getId() {
return id;
}
}
最后编写测试:
@Test
public void teacherTest(){
Teacher teacher=new Teacher();
teacher.setId(1L);
teacher.setTitle("admin");
Configuration cfg=new AnnotationConfiguration();
SessionFactory sf=cfg.configure().buildSessionFactory();
Session session=sf.openSession();
session.beginTransaction();
session.save(teacher);
session.getTransaction().commit();
session.close();
sf.close();
}
最后如期建立数据模型,插入值。
但是这其中遇到的问题是:为什么hibernate3.5.1目录hibernate\hibernate-distribution-3.5.1-Final\lib\jpa\xx.jar这个版本的api-1.0.0版本和hibernate-annotations.jar相互使用的是时候会报:Error:org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="com.xier.pojo.Teacher"/ >而我把api-1.0.0换成api-1.0.1却屁事没有,是3.5.1这个版本向后兼容了,所以渐渐的抹掉了1.0.0的支持?求科普