[java] Hibernate에서 세션(Session) 관리하는 방법은?
세션을 생성하기 위해서는 SessionFactory를 먼저 생성해야 합니다. SessionFactory는 한 번 생성하면 애플리케이션 전체에서 재사용될 수 있습니다. SessionFactory를 생성하는 코드는 다음과 같습니다:
Configuration configuration = new Configuration().configure();
SessionFactory sessionFactory = configuration.buildSessionFactory();
세션을 사용하여 데이터베이스 작업을 수행하기 위해서는 다음과 같이 세션을 열어야 합니다:
Session session = sessionFactory.openSession();
세션을 열었으면 데이터베이스 작업을 수행할 수 있습니다. 예를 들어, 객체를 저장하려면 다음과 같이 Save 메소드를 사용할 수 있습니다:
MyObject myObject = new MyObject();
// myObject 객체 설정
session.save(myObject);
작업을 완료했으면 세션을 닫아야 합니다. 세션을 닫으면 연결도 종료됩니다. 세션을 닫는 코드는 다음과 같습니다:
session.close();
Hibernate에서 세션은 데이터베이스 연결을 담당하기 때문에 세션을 오래 열어두는 것은 좋지 않습니다. 성능 향상을 위해 세션을 사용한 후 즉시 닫아야 합니다.
참고문헌:
- Hibernate Documentation: https://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html#architecture-session-factory