2011-03-19 7 views
0

자바 스프링 작동하지하고 잘최대 절전 모드 쿼리가이 코드를

Registration person = (Registration) session.get(Registration.class, 8); 
     person.setConfirmed(true); 
     session.save(person); 

작동하지만이 작동하지 않는 경우, 매핑 오류를 말한다

String query = "FROM registration WHERE user_id = 8"; 
Query query2 = session.createQuery(query); 
Registration person = (Registration) query2.uniqueResult(); 
person.setConfirmed(true); 
session.save(person); 

이 내 등록 클래스입니다

@Column(name = "user_id") 
    public Integer getUserId() { 
     return userId; 
    } 

답변

4

네이티브가 아닌 쿼리 언어를 사용하고 있으므로

과 같은 것이 필요합니다.
String query = "FROM Registration WHERE userId = 8"; 
2

@Pasha 다음 코드는 HQL 쿼리가 아닌 SQL 쿼리입니다. ,

String query = "FROM registration WHERE user_id = 8"; 
Query query2 = session.createSQLQuery(query); 
query2.executeUpdate(); 

은 HQL 쿼리에 SQL 쿼리를 변환하려면 등록 클래스는 userId를 필드가 가정 :

을 당신이 SQL 쿼리를 실행해야하는 경우

String query = "FROM registration WHERE user_id = 8"; 
Query query2 = session.createQuery(query); 

, 다음 대신 사용

String query = "FROM registration WHERE userId = 8"; 
Query query2 = session.createQuery(query); 
query2.executeUpdate(); 

완전한 예를 보려면 다음 가이드를 참조하십시오. http://krams915.blogspot.com/2011/03/spring-hibernate-one-to-many.html