hibernate的实体对象有三种状态,而实体对象是被Session管理:
(1)瞬态:刚刚被创建出来时的状态;
(2)持久化:被Session管理时的状态,能够和数据库同步;
(3)脱管:过去被Session管理,但是现在Session已关闭,虽然存在与数据库对应的记录,但是不能同步;
Session的入门常用方法
(1)Query query = session.createQuery(hql):利用hql查询语句查询;
(2)Criteria critera = session.createCriteria(Class clazz);
(3)Transaction tx = session.beginTransaction(); //开始事务;tx.commit()提交事务;
(4)session.close();
//关闭Session,此后被session管理的持久化对象变为脱管状态;
(5)session.save(Object obj); //添加
(6)session.update(Object obj); //更新
(7)session.delete(Object obj); //删除
(8)Object obj = session.get(Class clazz,Serialiazble id); //根据主键查找记录并返回;
(9)Object obj = session.load(Class clazz,Serializable id); //和get方法效果一样,但是是懒加载,即在不使用他之前他不会返回对象;
接下来,我们利用Session的方法,制作一个HibernateUtils类,此类能够在平时简化开发流程:
测试类: