이 기사의 주요 연구는 다음과 같이 세션에서 최대 절전 모드의 폐쇄입니다.
학생 학생 = 신입생 (); student.setName ( "Jan"); Student.setage ( "22"); Student.setAddress ( "광동성 Zhaoqing City"); 세션 세션 = hibernateutil.getSessionFactory (). getCurrentSession (); session.begintransaction (); 세션 .Save (학생); session.flush (); session.getTransaction (). commit ();
1. GetCurrentSess ()와 OpenSession ()의 차이점은 무엇입니까?
getCurrentSession() 로 만든 세션은 현재 스레드에 바인딩되며 openSession() 로 생성 된 세션은getCurrentSession() 로 생성 된 세션은 커밋 또는 롤백시 자동으로 닫히고 openSession() 로 생성 된 세션은 수동으로 닫아야합니다. 2. getCurrentSession() 사용하려면 Hibernate.cfg.xml 파일에 다음 구성을 추가해야합니다.
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.current_session_context_class">jta</property>
openSession() 과 getCurrentSession() 의 차이와 상관 관계는 무엇입니까?
SessionFactory가 시작되면 Hibernate는 구성에 따라 해당 CurrentsessionContext를 생성합니다. getCurrentSession() 이 호출되면 실행될 실제 메소드는 CurrentSessionContext.currentSession() 입니다. currentSession() 실행되면 현재 세션이 비어 있으면 Currentsession은 SessionFactory의 OpenSession을 호출합니다. 따라서 getCurrentSession() Java EE를위한 세션을 얻는 더 좋은 방법입니다.
여러 번 session is close(); 그 이유는 Hibernate.cfg.xml로 설정했기 때문입니다
<속성 이름 = "hibernate.current_session_context_class"> 스레드 </property>
시스템은 commit(); 실행 후. 현재 세션을 수동으로 닫으면 오류가 나타납니다.
위의 내용은 세션에서 최대 절전 모드의 폐쇄 인스턴스 분석에 대한이 기사의 모든 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!