Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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
Java 如何使用JPA进行简单的用户名搜索查询_Java_Jpa - Fatal编程技术网

Java 如何使用JPA进行简单的用户名搜索查询

Java 如何使用JPA进行简单的用户名搜索查询,java,jpa,Java,Jpa,我正试图让用户搜索用户名并输出结果,我想我几乎拥有了一切,我只是不确定我是否正确地使用了正确的类 目前我在视图中 <p:inputText id="search" value="#{bean.userToDelete.getUsername}" /> <p:commandButton value="Search" action="#{bean.searchUser}" update="group" /> 但是在我的UserServ

我正试图让用户搜索用户名并输出结果,我想我几乎拥有了一切,我只是不确定我是否正确地使用了正确的类

目前我在视图中

<p:inputText id="search" value="#{bean.userToDelete.getUsername}"  />   
                <p:commandButton value="Search" action="#{bean.searchUser}" update="group" />
但是在我的UserService(在我的业务层中)中,我有

公共字符串用户名搜索(字符串用户名){
List usernameSearch=this.userFacade.usernameSearch(用户名);
返回“/索引”;
}
我认为应该可以搜索数据库

但是,也有一个带有

   public List<User> usernameSearch(String searchString) {
        Query q = em.createQuery("SELECT u FROM USERS U WHERE u.username = :search");
        q.setParameter("search", searchString);
        return q.getResultList();
    }
公共列表用户名搜索(字符串搜索字符串){
Query q=em.createQuery(“从用户u中选择u,其中u.username=:search”);
q、 setParameter(“搜索”,searchString);
返回q.getResultList();
}
我想我的问题是,我是否已经获得了运行搜索查询所需的所有东西,以及如何将它们组合在一起以使其工作


抱歉,我是新手,因为我用来做这一切的方法被证明是错误的,目的是一旦我能够理解这是如何工作的,我将能够做得更多,但它只是理解过程如何工作atm

JPQL使用实体和字段/属性名称。它从不使用表名和列名。类、字段和别名与Java一样区分大小写

因此,您的查询应该是:

select u from User u where u.name = :search

(假设映射的字段或getter是
name
/
getName()

JPQL使用实体和字段/属性名称。它从不使用表名和列名。类、字段和别名与Java一样区分大小写

因此,您的查询应该是:

select u from User u where u.name = :search

(假设映射字段或getter是
name
/
getName()

您是否将spring用于IoC?不,只是netbeans附带的jpa和derby内容,它用于jsf应用程序从用户U中选择U,其中U.username=:搜索不应该同时使用“U”声明和使用是相同的??当我第一次创建时,代码是由netbeans自动生成的,这会导致问题吗?您是否将spring用于IoC?不,只是netbeans附带的jpa和derby内容它用于jsf应用程序从用户U中选择U,其中U.username=:搜索不应同时使用“U”声明和使用是相同的??当我第一次创建时,代码是由netbeans自动生成的,这会导致问题吗?您好,谢谢,我如何从用户界面调用它,以及它在MVC中的位置?您的方式是可以的,除了UserFacade应该命名为UserDAO或UserRepository:它不是facade。您好,谢谢,我该如何从用户界面调用它,以及它在MVC中的位置?您使用的方式是可以的,除了UserFacade应该命名为UserDAO或UserRepository之外:它不是facade。
select u from User u where u.name = :search