hibernate中 openSession和getCurrentSession的区别
    
package com.wxh.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import com.wxh.dto.Student;
public class Test {
  /**
   * openSession:每次都会从sessionFactory获取一个新的session对象,使用完成后需要手动调用close对session关闭
   * getCurrentSession:从当前线程中获取session对象,如果线程中存在session则使用,
   * 如果不存在则创建。 不需要手动调用close方法关闭,因为一旦事务提交,则会自动关闭session
   * 使用线程中的session时需要在核心配置文件中配置:
   * current_session_context_class:thread 本地事务
   * <property name="current_session_context_class">thread</property>
   * 或
   * current_session_context_class:jta 全局事务
   * @param args
   */
  
  public static void main(String[] args) {
    
    Configuration cfg=new AnnotationConfiguration().configure();
    SessionFactory factory=cfg.buildSessionFactory();
    //Session session=factory.openSession();    
    Session session=factory.getCurrentSession();
    session.beginTransaction();
    Student stu=(Student)session.get(Student.class, 2);
    session.getTransaction().commit();
  }
}