在上一篇文章里我们已经成功的为项目添加了hibernate支持,接下来我们来进行相关的测试与调试技巧 6、测试HQL语言

在java视图下,项目 --- myeclipse --- open hql editor 

在HQL Editor中输入:“from UserInfo” 即可查询到表中所有的对象,同时选中某一个对象,在右边的properties
视图中还可以看到这个对象中具体属性的值

7、测试POJO,编写测试类UserTest.java

package com.njcit.hibernate;

import com.njcit.hibernate.HibernateSessionFactory;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import java.util.List;

public class HibernateTest {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Session session = HibernateSessionFactory.getSession();
		Transaction trans = session.beginTransaction();
		Userinfo u = new Userinfo();
		u.setUserid("1111");
		u.setUsername("444");
		u.setPassword("222333");
		u.setAddress("111");
		u.setEmail("111");
		u.setTelephone("222");
		trans.begin();
		System.out.println("userid:" + u.getUserid());
		System.out.println("username:" + u.getUsername());
		session.save(u);
		trans.commit();
		//===========================================
		Userinfo u2 = (Userinfo) session.get(Userinfo.class, "1006");
		u2.setUsername("newname");
		trans.begin();
		session.saveOrUpdate(u2);
		trans.commit();
		//==============================================
		Userinfo u3 = (Userinfo) session.get(Userinfo.class, "1001");
		trans.begin();
		session.delete(u3);
		trans.commit();
		//==============================================
		Query q = session.createQuery("from Userinfo");
		List list = q.list();
		for (Object o : list) {
			System.out.println(((Userinfo) o).getUserid() + ((Userinfo) o).getUsername());
		}
		session.close();
	}
}

测试类中分别完成数据插入,数据修改,数据删除,数据查询。
运行结果为:

8、调试小结: 8. 1. 创建数据连接时必须给出正确的URL,用户名,密码,并且正确引入数据库驱动包。 8. 2. 为工程引入hibernate支持时,引入版本3.1(3.2的配置中有稍许区别) 8. 3. 在database explorer视图中创建POJO类时采用默认设置,如果主键生成策略为native则需要额外的配置, 否则报错。(设置为native则数据插入时报错)

8. 4. 	在database explorer视图中创建POJO类时,注意选择的表如果满足某种关联条件则生成的相应配置文件
会引用其他的类,而这些类本身并不存在,运行时即报错。这时需要修改配置文件*.hbm.xml