注解用到的jar包:下载地址
/**
* ========================================================================
* 注解
* 步骤:
* 1.导入jar包
* (1)hibernate-annotations.jar
* (2)hibernate-commons-annotations.jar
* (3)ejb3-persistence.jar
* 2.使用注解配置持久化类级对象关联关系
* 3.使用AnnotationConfiguration建立会话工厂
* sessionFaction=new AnnotationConfiguration().configure().buildSessionFactory();
* 4.在hibernate配置文件中(hibernate.cfg.xml)中生成持久化类
* <mapping class="持久化类完整限定名">
* ========================================================================
*
*/
@Test public void test1(){ //必须先在数据库里面创建序列,名字是seq_emp_id Session session=new AnnotationConfiguration() .configure() .buildSessionFactory() .openSession(); Transaction tx=session.beginTransaction(); Emp1 emp1=new Emp1(); emp1.setEname("test2"); emp1.setHiredate(new Date()); session.save(emp1); tx.commit(); }
//测试多对一的配置注解 @Test public void test2(){ Session session=new AnnotationConfiguration() .configure() .buildSessionFactory() .openSession(); Emp1 emp1=(Emp1) session.get(Emp1.class,7788); System.out.println(emp1.getEname()+","+emp1.getDept().getDname()); } //级联操作 @Test public void test3(){ Session session=new AnnotationConfiguration() .configure() .buildSessionFactory() .openSession(); Transaction tx=session.beginTransaction(); Dept1 dept1=new Dept1(1,"产品部"); Emp1 emp1=new Emp1(); emp1.setEname("Villy"); emp1.setHiredate(new Date()); dept1.getEmps().add(emp1); emp1.setDept(dept1); session.save(dept1); tx.commit(); }