2012-11-18 5 views
0

최대 절전 모드에 대한 this 자습서를 따르고 있습니다. 이 튜토리얼은 오래된 buildSessionFactory()를 사용하기 때문에 이미 꽤 오래된 것이다.Hibernate 대안의 buildSessionFactory

내 질문은 내가 최신을 사용하는 방법입니다 buildSessionFactory(serviceRegistry) 나는 최대 절전 모드에 처음이에요. 나는 이것을 어떻게 구현할 것인지 전혀 모른다. 이 내 코드 또한

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    UserDetails ud = new UserDetails(); 
    ud.setId(1); 
    ud.setName("David Jone"); 

    SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(serviceRegistry) 
    Session session = sessionFactory.openSession(); 
    session.beginTransaction(); 
    session.save(ud); 
    session.getTransaction().commit(); 

} 

너희들은 메이븐없이 최대 절전 모드 4에 대한 자습서를 연결할 수 있다면 정말 도움이 될 것입니다.

+0

나는 Maven (또는 다른 의존성 관리 도구)없이 Hibernate를 사용하는 것을 좋아하지 않는다. 특히 학습을하는 경우 오류가 발생하기 쉽고 시간이 많이 걸립니다. –

+0

@Alex 그래서 당신은 Hibernate를 배우는 동안 Maven과 Hibernate를 사용해야한다고 제안하고 있습니까? – user962206

+0

나는 확실히 그것을 할 것이다. 즉, 불일치/누락 된 종속성 문제는 발생하지 않습니다. 전체적인 경험을보다 쉽게 ​​만들고 나중에 연습 할 수 있습니다. 더 큰 프로젝트를 시작할 때 의존성을 수동으로 처리하고 싶지는 않을 것입니다. –

답변

1

당신이 최대 절전 모드를 처음 사용하고 기본 사항에 어려움을 겪은 것처럼 보입니다. 문서를 읽고 개념을 배우라고 제안합니다.

Hibernate Documentation은 몇 가지 기본 사항을 이해하는 데 좋은 출발점입니다.

또한 series of articles on Hibernate을 작성했습니다. 이 클래스를 일단

Hibernate Hello World example

package net.viralpatel.hibernate; 

import org.hibernate.SessionFactory; 
import org.hibernate.cfg.Configuration; 

public class HibernateUtil { 

    private static final SessionFactory sessionFactory = buildSessionFactory(); 

    private static SessionFactory buildSessionFactory() { 
     try { 
      // Create the SessionFactory from hibernate.cfg.xml 
      return new Configuration() 
        .configure() 
        .buildSessionFactory(); 
     } catch (Throwable ex) { 
      System.err.println("Initial SessionFactory creation failed." + ex); 
      throw new ExceptionInInitializerError(ex); 
     } 
    } 

    public static SessionFactory getSessionFactory() { 
     return sessionFactory; 
    } 
} 

, 당신이 원하는 사용할 수 있습니다 :이 튜토리얼에 주어진

그리고 프로그래밍 방식으로 SessionFactory를 액세스하기위한

, 나는 다음 최대 절전 모드 유틸리티 클래스를 사용하도록 제안

private static Employee save(Employee employee) { 
    SessionFactory sf = HibernateUtil.getSessionFactory(); 
    Session session = sf.openSession(); 
    session.beginTransaction(); 

    Long id = (Long) session.save(employee); 
    employee.setId(id); 

    session.getTransaction().commit(); 

    session.close(); 

    return employee; 
} 

희망이 있습니다.