2015-06-16 76 views
0

即使在我仔細閱讀Stack Overflow和其他網站之後,我仍然沒有解決這個問題。我認爲這是一個配置問題,但persistence.xml和tomee.xml文件似乎都很好。jpa getresultslist列索引異常

問題似乎是這樣的線:

returnList = mapToDtoList(getEntityManager().createNativeQuery("SELECT * FROM map_category_content_type", entityClass).getResultList()); 

據生成「列索引超出範圍異常0 < 1」 在大多數情況下,這是由於一個錯誤索引。但在我的情況,因爲我從來沒有直接引用索引(「魔術」應該爲我做)我只能責怪配置或getResultList()。

我碰到了一堵磚牆。

這是異常和上下文。 *我不能發表圖片(沒有足夠的「信譽分」),但我可以向你保證堆棧跟蹤等同於一個在這裏找到: Getting column index out of range, 0 < 1

persistence.java代碼:

@Stateless 
    @TransactionAttribute(TransactionAttributeType.REQUIRED) 
    public class CategoriesAndContentTypesMapPersistence extends AbstractPersistenceService<CategoriesAndContentTypesMap, CategoriesAndContentTypesMapDto, Integer> { 

    public List<CategoriesAndContentTypesMapDto> getCategoriesAndContentTypes() { 

List<CategoriesAndContentTypesMapDto> returnList; 


try { 
    returnList = mapToDtoList(getEntityManager().createNativeQuery("SELECT * FROM map_category_content_type", entityClass).getResultList()); 
} catch (Exception e) { 
    System.out.println("---> "+e); 
    throw new PersistenceException(e, this.getClass()); 
} 
return returnList; 

}

}

呼叫者代碼:

@Inject 
private CategoriesAndContentTypesMapPersistence catContPersistence; 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    int categoryID   = 0; 
    String categoryName = ""; 
    int categorySortOrder = 0; 
    int contentTypeID  = 0; 
    String contentTypeName = ""; 
    int contentTypeSortOrder = 0; 
    int contentTypeRequired = 0; 
    int contentTypeVisibility = 0; 

    Map<Integer, String> categoriesContentTypes = new LinkedHashMap<Integer, String>(); 
    List<CategoriesAndContentTypesMapDto> dbCatsConts = catContPersistence.getCategoriesAndContentTypes();  

    for (CategoriesAndContentTypesMapDto catCotItem : dbCatsConts) { 
    categoryID = catCotItem.getCategoryId(); 
    categoryName = catCotItem.getCategoryName();  
    categorySortOrder = catCotItem.getCategorySortOrder(); 
    contentTypeID  = catCotItem.getContentTypeId(); 
    contentTypeName = catCotItem.getContentTypeName(); 
    contentTypeSortOrder = catCotItem.getContentTypeSortOrder(); 
    contentTypeRequired = catCotItem.getContentTypeRequired(); 
    contentTypeVisibility = catCotItem.getContentTypeVisible(); 

我懷疑我的問題是沿着這些線︰ Getting column index out of range, 0 < 1 但conf文件看起來很好,並正在工作。

任何意見非常感謝。

+1

爲什麼您使用本機查詢而不是使用JPQL查詢?什麼是異常的完整堆棧跟蹤? –

+0

我覺得JPQL有點...簡潔。如果我不完全「必須」使用它,我會完全避免它。 – JBL

回答

0

沒關係。 我沒有在其他架構EJB/JSF /必需品中使用「託管bean」。 謝謝大家!