我正在尝试执行以下操作:
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)
有人可以请一只手吗? 非常感谢你
答案 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,所以这可能对你的情况有帮助。