2011-02-10 151 views
1

我在使用Netbeans 6.9.1中的EclipseLink(JPA 2)时遇到了问题,针对Oracle 11g。我不断收到试图运行原生查询时出现以下错误:EclipseLink(JPA 2)缺少描述符异常

Exception Description: Missing descriptor for [class Novartis.OTM.Data.Db.Entities.Lookup]. 
Query: ReadAllQuery(referenceClass=Lookup sql="SELECT l FROM lookup l WHERE l.lookup_type = :LookupType AND domain = :Domain") 

他是代码:

public List<SelectItem> getLookupForUI(enumLookupType lookupType, String domain) throws Exception { 
    if (domain == null || domain.trim().equals("")) 
     throw new Exception("Parameter domain cannot be null or empty."); 
    else if (!this.isInitialized()) 
     throw new Exception("Entity Manager not set."); 

    Query query = this._EM.createNativeQuery(_QueryGetLookupForUI, Lookup.class); 
    query.setParameter("LookupType", lookupType.toString()); 
    query.setParameter("Domain", domain.trim()); 

    List<SelectItem> selectItems = null; 

    List<Lookup> lookupList = (List<Lookup>) query.getResultList(); 
    if (lookupList == null || lookupList.size() < 1) 
     return null; 
    else { 
     selectItems = new ArrayList<SelectItem>(lookupList.size()); 
     for (Lookup lookUp : lookupList) { 
      selectItems.add(new SelectItem(lookUp.getLookupValue(), lookUp.getLookupName())); 
     } 
    } 

    return selectItems; 
} 

尽管检查我有一个有效的实体类,我不知道这是为什么失败。预先感谢您的帮助。

克里斯

回答

1

也许尝试:

SELECT l FROM Lookup代替SELECT l FROM lookup

+0

这样做。谢谢! – Chris 2011-02-23 17:18:14