可以列出<>被转换为数据模型

时间:2010-06-12 04:39:55

标签: jsf jpa eclipselink

我正在尝试执行以下操作:

public String createByMarcas() {
    items = (DataModel) ejbFacade.findByMarcas(current.getIdMarca().getId());
    updateCurrentItem();
    return "List";
}

public List<Modelos> findByMarcas(int idMarca){
    return em.createQuery("SELECT id, descripcion FROM Modelos WHERE id_marca ="+idMarca+"").getResultList();
}

但我一直在接受这个期待:

Caused by: javax.ejb.EJBException
 at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5070)
 at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:4968)
 at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4756)
 at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1955)
 at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1906)
 at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:198)
 at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:84)
 at $Proxy347.findByMarcas(Unknown Source)
 at controladores.__EJB31_Generated__ModelosFacade__Intf____Bean__.findByMarcas(Unknown Source)

有人可以请一只手吗? 非常感谢你

2 个答案:

答案 0 :(得分:2)

您正在寻找JSF setWrapperData()的函数DataModel

示例:

DataModel dataModel;
List list;

list = em.createQuery("Select b from Book b").getResultList();
dataModel.setWrapperData(list);

答案 1 :(得分:1)

我想你问题最明显的答案是否定的。您查询返回java.util.List,这与JSF DataModel无关,假设这是您要投射的内容。我对JSF一无所知,但似乎有一个ListDataModel可用于包装List,所以这可能对你的情况有帮助。