2017-09-18 13 views
0

아래 엔티티가 있습니다. 명명 된 쿼리를 사용할 때 org.hibernate.MappingException을 제공합니다 : 명명 된 쿼리를 알 수 없습니다 : ServiceDataTO.findId. 왜?org.hibernate.MappingException 명명 된 쿼리를 알 수 없음

import javax.persistence.*; 


@NamedQueries({ 
     @NamedQuery(
       name = ServiceDataTO.SELECT_ID, 
       query = "select serviceId from ServiceDataTO sd where sd.serviceType = :serviceType" 
     )} 
) 


@Entity 
@Table(name = "MCI_SERVICE_DATA") 
public class ServiceDataTO { 

    public static final String SELECT_ID = "ServiceDataTO.findId"; 

    @Id 
    @Column(name = "SDT_ID") 
    private Long sdtId; 

    @Column(name = "SDT_SERVICE_ID") 
    private Long serviceId; 

    @Column(name = "SDT_SERVICE_TYPE") 
    private String serviceType; 
} 

클라이언트 코드 :

내가 그것을 어떻게

Session session = HibernateUtil.getSessionFactory().openSession(); 
    session.beginTransaction(); 
    List<Long> r = session.getNamedQuery(ServiceDataTO.SELECT_ID).setString("serviceType", serviceType).list(); 
을 를 해결할 수 ?

+0

당신이 그것을 사용하고 예외를 얻을 관련 코드를 추가 – Zeromus

+1

hibernate.cfg.xml 또는 유사한 구성을 추가하십시오. Hibernate는 엔티티가 어디에 있는지를 알고 있는가? –

답변

0

최대 절전 모드 설정에서 ServiceDataTO을 (를) 잊어 버렸습니다.