Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在EJB3和JSF中使用select语句获取列表的一个实例_Jsf_Ejb - Fatal编程技术网

如何在EJB3和JSF中使用select语句获取列表的一个实例

如何在EJB3和JSF中使用select语句获取列表的一个实例,jsf,ejb,Jsf,Ejb,现在我正在使用EJB3 在无状态Bean中,我创建方法获取实体的所有实例 public List<About> retrieveAllAbout(){ return em.createNameQuery("About.findAll").getResultList(); } public List retrieveAllAbout(){ 返回em.createNameQuery(“About.findAll”).getResultList(); } 现在我

现在我正在使用EJB3 在无状态Bean中,我创建方法获取实体的所有实例

public List<About> retrieveAllAbout(){

       return em.createNameQuery("About.findAll").getResultList();
    }
public List retrieveAllAbout(){
返回em.createNameQuery(“About.findAll”).getResultList();
}
现在我想得到一行列表,以传递到js页面。我该怎么做

在jsf页面(xhtml)中,我想显示列表示例的一个值

<h:outputText value="#{bean.value}" />


(在数据库中,我有一行,只有一行需要选择,否则,如果我有很多行,我如何选择并获取一行并将其显示给JSF页面)

尝试使用getSingleResult方法,并让“retrieveAllAbout”方法返回“About”对象而不是列表。 若数据库中有更多行,而您正试图获取第一行,请使用getFirstResult。否则,在定义查询时必须更加具体


我尝试使用getSingleResult方法,但不适用于我,在JSF ManagedBean中,我在JSF Manage bean示例的构造函数中创建新实例
public构造函数(){About=new About(statelessbean.retreiveAllAbout)}
在关于实体中,我创建构造函数示例
public About(String value){this.value=value}
请帮忙me@MYE:About不是字符串,因此永远不会调用构造函数。此外,不需要调用构造函数。在Java中,所有变量都是按值传递的,但所有对象变量实际上都是引用。您的代码有一些错误:“About”是您的类名,因此不能用作变量;在函数返回对象引用时,无需调用构造函数。因此,您的代码应该如下所示:public Constructor(){about=statelessbean.retrieveAllabout;}。您的bean中需要有默认构造函数。@MYE:将问题中所发布的代码中的
getResultList()
更改为
getFirstResult()
,这样就行了。如果只想调用一次,请使用
@PostConstruct
,因为调用construct时,
em
尚未注入。如果仍然无效,请提出新问题。这与当前问题中的问题无关。谢谢两位,我可以做到:D,但我有新问题,我将发布它,请帮助我:D和新问题