我有下面的实体。当我使用命名查询时,我给org.hibernate.MappingException:未知的命名查询:ServiceDataTO.findId。 为什么呢?
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 :(得分:0)
我忘了在hibernate配置中添加ServiceDataTO
。