2012-01-18 1 views
0

HibernateTemplate에서 질의 객체를 사용하고 싶다. 우리는 HibernateTemplate과 함께 Query 객체를 사용할 수 있지만 Spring에 의해 사용되지 않을 것이다.우리는 어떻게 hibernateTemplate에서 객체를 질의 할 수 있는가

다른 방법을 사용하는 것 중 하나는 사전에 나에게

다르 멘

감사를 안내하십시오

+1

에서 최대 절전 모드 문서 좀 걸릴 수 등) (저장과 같은 기능을 구현 . 스프링 3.1의 javadoc에서 saveOrUpdateAll만이 사용 중지되었습니다. –

+0

완성을 위해 : http://stackoverflow.com/questions/5104765/hibernatedaosupport-is-not-recommended-why –

답변

1

당신은 순수 SQL을 사용하거나 같은 간단한 쿼리를 작성하여 작업을 수행 할 수 있습니다

Session session = sessionFactory.getCurrentSession(); 

Query query = session.createQuery("FROM TableName where id=:userId"); 
query.setString("userId", userId); //userId is of string type Or you can use userId+"" to convert it to string 

List<myEntityPOJOName> result = query.list(); //this will return a list of myEntityPOJOName objects 

또는 아래와 같이 createQuery() 함수 내에서 순수한 SQL을 작성할 수 있습니다.

최대 절전 모드에 대한
Session session = sessionFactory.getCurrentSession(); 
Query query = session.createQuery("delete from TableName myEntityPOJOName where id=:userId and hId=:hospitalID"); 
query.setString("userId",myUserID); 
query.setString("hospitalID", myHospID); 
int row = query.executeUpdate(); //returns a number of updated rows 

이 될 saveOrUpdate(), 당신은 당신이 사용하고자하는 사용되지 않는 메소드의 javadoc에 링크를 공유하시기 바랍니다 수 http://www.hibernate.org/docs

+0

고마워. 우리는이 방법을 사용할 수있다. 그러나 우리는 Spring을 사용하고 HibernateTemplate에서 어떤 대안을 원하고 최대 절전 모드로 전환한다. – dharmendra

+0

HibernateTemplate은 연결, 세션 등의 관련 작업만을 수행하지만 Session 처리를 위해 hibernateTemplate 또는 SessionFactory 중 어느 것을 사용하든 관계없이 쿼리는 동일하게 유지됩니다. 그래서 당신의 프로젝트를 위해 hibernateTemplate을 사용했다면 세션을 생성 할 것이고 당신은 현재 세션을 얻거나 (또는 ​​새로운 것을 생성해야합니다) db 관련 작업을 수행 할 필요가 있습니다. 그리고 hibernateTemplate 당신이 DAO 클래스 –

+0

에 sessionFactory를 직접 주입 할 수있는 HibernateDaoSupport를 확장하지 않고 (이전 주석의 계속) ... 대신 hibernate의 마지막 버전에서 선호되지 않는다. "Hibernate 3.0.1부터, 트랜잭션 Hibernate 접근 코드는 평이한 Hibernate 스타일로 코딩 될 수있다. 그러므로 새로 시작된 프로젝트를 위해 표준 Hibernate3 스타일을 채택하는 것을 고려하라. 대신 SessionFactory.getCurrentSession()을 기반으로 데이터 액세스 객체를 코딩합니다. " http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/orm/hibernate3/HibernateTemplate.html –

관련 문제