[英]How to implement @NamedQuery in Java Web application using JSF and EJB
所以我在这里是菜鸟,我已经在NetBeans中创建了Java Web应用程序,并从数据库创建了Entity Classs (可以说我在数据库中只有一个表,它生成了名为USER的表)。
并且已经从实体类创建了JSF页面。 它产生了
在User.java中,我有
@NamedQuery(name =“ Users.findByName”,query =“从用户中选择u uname =:name”),
我需要在View.xhtml中增加该查询的方法,因为我只需要按名称显示用户,而不是全部。 有人可以给我指示吗?
如前所述,很难知道您想要什么。 “在View.xhtml中实现查询”没有任何意义,因为NamedQuery将返回“用户列表”,而View.xhtml只能显示1个用户。
从List.xhtml使用它会更有意义,但是使用数据表过滤会更容易; 就像是
<p:column filterBy="#{item.name}" filterMatchMode="contains">
<f:facet name="header">
Name
</f:facet>
<h:outputText value="#{item.name}"/>
</p:column>
如果希望/需要使用NamedQuery,则需要在EJB(= UserFacade)上创建一个方法。 就像是
public List<User> findByName(String name) {
return em.createNamedQuery("Users.findByName").setParameter("name", name).getResultList();
}
我不知道如何调用此方法,因为要求不明确。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.