1.读取配置(Configuration)*.cfg.xml。
2.使用Configuration创建SessionFactory(线程安全)。
3.使用SessionFactory创建Session(线程不安全,使用本地线程TheradLocal解决)。
SessionFactory提供了两种方式得到session。
1 openSession:得到的session是线程不安全的,可以通过本地线程 Threadlocal机制解决,把session放入Threadlocal中,
达到隔离线程的目的,得到的session需要手动关闭。
2 getCurrentSession可以解决要在事务范围内 session 线程不安全 问题,因为它总是把session绑定到当前线程,
并且在事务提交的时候自动关闭session。
但需要配置:
<property name="hibernate.current_session_context_class">thread</property>
<!--针对jdbc的-->
自动关闭session
4.利用Session启动事务(Transaction)。
5.利用Session进行业务操作。
6.提交事务(调用commit()方法)。
7.关闭Session(调用close()方法)。