1

Netbeans 6.9.1でOracle11gに対して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;
}

有効なエンティティクラスがあることを確認しましたが、なぜこれが失敗するのかわかりません。よろしくお願いします。

クリス

4

1 に答える 1

1

多分試してください:

SELECT l FROM Lookup代わりにSELECT l FROM lookup

于 2011-02-12T11:22:22.060 に答える