2014-04-30 2 views
1

명명 된 쿼리에 문제가 있지만 작동하지 않는 이유가 없습니다.Hibernate 명명 된 쿼리 오류

@NamedQueries({ 
    @NamedQuery(
     name = Rating.FIND_ALL, 
     query = "from Rating" 
    ), 

    @NamedQuery(
     name = "getUserRatings", 
     query = "SELECT s from Rating s where s.user_id = :user_id" 
    ) 
}) 

여기 내가 사용 :

public List<Rating> getUserRatings(User user){ 
    return em.createNamedQuery("getUserRatings", Rating.class).setParameter("user_id", user.getId()).getResultList(); 
} 

오류 : 명명 된 쿼리에 오류 : org.hibernate.HibernateException :에 의한 getUserRatings

내가 쿼리를 정의하는 방법입니다

답변

3

NamedQuery는 기본 쿼리를 가질 수 없습니다. 엔티티에 user_id가 있는지 확인하십시오. user_id는 DB의 열처럼 보입니다. 그렇다면 자바 필드로 변경하십시오.

SELECT s from Rating s where s.userId = :user_id