hibernate4.2.4在配置完成之后需要有对应的初始化和销毁操作,写一个test测试类作为例子:
public class StudentsTest {
private SessionFactory SessionFactory;
private Session session;
private Transaction transaction;
@Before
public void Init(){
//创建配置对象
Configuration config=new Configuration().configure();
//创建服务注册对象
ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
//用配置对象创建会话工厂
SessionFactory=config.buildSessionFactory(serviceRegistry);
//会话对象 通过会话工厂创建会话 有点类似于数据库链接对象
session=SessionFactory.openSession();
//开始事务
transaction=session.beginTransaction();
//hibernate不建议直接使用jdbc的connection操作数据库 而是使用session操作数据库
//session与connection是多对一的关系 每个session都有一个与之对应的connection 一个connection不同时刻可以供多个session使用
//把对象保存在关系数据库中需要调用各种session方法 如save() update() delete() createQuery()
//transaction
//hibernate对数据的操作都是封装在事务当中的 并且默认为非自动提交 所以用session保存对象的时候 如果不开启事务 并且手工提交事务 对象不会真的保存在数据库中
}
@After
public void destroy(){
transaction.commit();//提交事务
session.close();//关闭会话
SessionFactory.close();//关闭会话工厂
}
@Test
public void testSaveStudents() {
//to do... 在这里执行业务逻辑
}
}