Hibernate 코드 최적화
1.Hibernate 설정 알 기 Configuration config = new Configuration().configure() ;
2.설정 에서 Session Factory 가 져 오기 SessionFactory factory = config.buildSessionFactory() ;
3.Session Factory 에서 session 얻 기 this.session = factory.openSession() ;
일반적으로 Hibernate 를 호출 하려 면 이러한 절차 가 필요 합 니 다.호출 할 때마다 이 코드 를 실행 해 야 한다 면 효율 을 떨 어 뜨 릴 수 있 습 니 다.따라서 일반적인 상황 에서 Hibernate 의 초기 화 작업 을 추출 하여 하나의 도구 류 를 만 듭 니 다.
코드 는 다음 과 같 습 니 다:
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public final class HibernateUtil {
private static SessionFactory sessionFactory;
private HibernateUtil () {
}
static {
Configuration cfg = new Configuration ();
cfg.configure (); // hibernate.cfg.xml, ,
sessionFactory = cfg.buildSessionFactory ();
}
public static SessionFactory getSesstionFactory () {
return sessionFactory;
}
public static Session getSesstion () {
return sesstionFactory.openSesssion ();
}
}
어떻게 호출 합 니까?
public static void main (String [] args) {
Session s = HibernateUtil.getSession ();
//
Transaction tx = s.beginTransaction ();
......
tx.commit ();
s.close ();
}
위의 코드 는 아직도 규범 에 맞지 않 아서 다음 과 같이 최적화 되 었 다.
......
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession ();
tx = s.beginTransaction();
....
tx.commit ();
} catch (HibernateException e) { // catch
if (tx != null) {
tx.rollback ();
}
throw e;
} finally {
if (s != null) {
s.close ();
}
}
......
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java swing drawImagegetImage 가 즉시 돌아 오기 때문에 그림 이 불 러 올 때 까지 기다 리 지 않 고 프로그램 에서 다른 작업 을 수행 할 수 있 습 니 다.성능 을 향상 시 킬 수 있 지만 효과 적 인 프로그램 은 더 많은 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.