gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 07:13:06 25 4
gpt4 key购买 nike

我试图让用户搜索用户名并输出结果,我想我几乎拥有了所有内容,我只是不确定我是否正确执行了此操作并使用了正确的类;

目前我在 View 中

<p:inputText id="search" value="#{bean.userToDelete.getUsername}"  />   
<p:commandButton value="Search" action="#{bean.searchUser}" update="group" />

这应该允许用户输入搜索词

然后转到“bean”,它是一个 Controller 这就是我目前所拥有的一切

public void searchUser() {
}

但是在我的 UserService (位于我的业务层)中我有

public String usernameSearch(String username) {
List<User> usernameSearch = this.userFacade.usernameSearch(username);
return "/index";
}

我认为应该能够搜索数据库?

但是还有一个 UserFacade bean

   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();
}

我想我的问题是我是否拥有运行搜索查询所需的所有内容以及如何将它们放在一起以使其工作?

抱歉,我对此很陌生,因为我用来做这一切的方法被证明是错误的,目的是一旦我能够理解它是如何工作的,我将能够做更多的事情,但这只是了解该过程如何工作 atm

最佳答案

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

您的查询应该是:

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

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

关于java - 如何使用 JPA 进行简单的用户名搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20346654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com