HibernateTemplate 의 상용 방법

HibernateTemplate 는 일반적인 추가, 삭제, 수정, 조회 등 기본 적 인 작업 을 수행 하 는 데 자주 사용 되 는 방법 을 제공 합 니 다. Spring 2.0 은 이름 SQL 조회 에 대한 지원 을 증가 하고 페이지 에 대한 지원 도 증가 합 니 다.대부분의 경우 Hibernate 의 일반적인 용법 을 사용 하면 대부분의 DAO 대상 의 CRUD 작업 을 완성 할 수 있다.
 
다음은 HibernateTemplate 의 일반적인 방법 소개 입 니 다.      void delete (Object entity): 지정 한 지구 화 인 스 턴 스 삭제      deleteAll (Collection entities): 집합 내 모든 지구 화 클래스 인 스 턴 스 삭제      find (String query String): HQL 검색 문자열 에 따라 인 스 턴 스 집합 을 되 돌려 줍 니 다.      findByNamedQuery (String query Name): 이름 조회 에 따라 인 스 턴 스 집합 을 되 돌려 줍 니 다.      get (Class entity Class, Serializable id): 홈 키 에 따라 특정 지구 화 클래스 의 인 스 턴 스 를 불 러 옵 니 다.      save (Object entity): 새로운 인 스 턴 스 저장      saveOrUpdate (Object entity): 인 스 턴 스 상태 에 따라 저장 또는 업 데 이 트 를 선택 하 십시오.      update (Object enity): 인 스 턴 스 의 상 태 를 업데이트 하고 enity 가 지속 적 인 상태 여야 합 니 다.      setMaxResults (int max Results): 페이지 의 크기 를 설정 합 니 다.
 
다음은 완전한 DAO 종류의 소스 코드 입 니 다.
public class PersonDAOHibernate implements PersonDAO  {  
	//  log4j             
	private static Log log = LogFactory.getLog(NewsDAOHibernate.class);  
	//           SessionFactory。  
	private SessionFactory sessionFactory;  
	//          HibernateTemplate  
	private HibernateTemplate hibernateTemplate = null;  
		 //    SessionFactory   setter    
	public void setSessionFactory(SessionFactory sessionFactory)  {  
		   this.sessionFactory = sessionFactory;  
	}  
  
         //    DAO   HibernateTemplate  
	public HIbernateTemplate getHibernateTemplate()  {  
		//  ,     hibernateTemplate         
		if ( hibernateTemplate == null)  
		{  
		//     ,    HibernateTemplate    
			hibernateTemplate = new HibernateTemplate(sessionFactory);  
		}  
		return hibernateTemplate;  
	}  
  
         //           
    public List getPersons() {          
                   //  HibernateTemplate find    Person       
           return getHibernateTemplate().find("from Person");  
    }  
  
          
    public void savePerson(Person person) {                   
                   getHibernateTemplate().saveOrUpdate(person);  
    }  
	
	/*
		@ param personid     Person       
	*/
    public void removePerson(int personid)  {  
		//         
		Object p = getHibernateTemplate().load(Person.class, new Integer(personid));  
		//        
		getHibernateTemplate().delete(p);  
    } 
}
 
 

좋은 웹페이지 즐겨찾기