Public void test () {// openSession () always creates a new session Session session1 = sessionFactory. openSession (); Session session3 = sessionFactory. openSession (); // The output is false System. out. println (session1 = session3); // getCurrentSession () must be configured with <property name = "current_session_context_class"> thread </property> // because getCurrentSession () the session is generated based on the context. If the context contains a session, no new session is created. Otherwise, a new Session session2 = sessionFactory is created. getCurrentSession (); Session session4 = sessionFactory. getCurrentSession (); // The output is true System. out. println (session2 = session4); // The session generated by getCurrentSession () is automatically closed when the transaction is committed, and the session cannot be used again with Session session5 = sessionFactory. getCurrentSession (); session5.beginTransaction (); session5.getTransaction (). commit (); Session session6 = sessionFactory. getCurrentSession (); // The output is false System. out. println (session5 = session6 );}