database - 不从搜索查询中检索任何数据

标签 database search jpa derby

我需要搜索所有用户名,并让应用程序打印出所有包含搜索字符串的用户名。我想我已经这样做了,但是当我执行 searchByString() 时,我没有得到任何结果。

抽象外观

/* trying out a search function */
public List<T> searchByString(String string) {
    System.out.println("in SearchByString");
    return getEntityManager().createNamedQuery("Userdetails.findByUsername").setParameter("username", "%" + string + "%").getResultList();
}

Userdetails.java 这是完成查询的地方

@Entity
@Table(name = "USERDETAILS")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Userdetails.findAll", query = "SELECT u FROM Userdetails u"),
    @NamedQuery(name = "Userdetails.findById", query = "SELECT u FROM Userdetails u WHERE u.id = :id"),
    @NamedQuery(name = "Userdetails.findByUsername", query = "SELECT u FROM Userdetails u WHERE u.username = :username")})

我无法获得完整的列表。我想知道查询是否正确运行并检索到任何内容,所以我希望能够看到它在运行时检索到的内容,这样我就可以查看为什么没有向用户显示任何内容。

最佳答案

您的查询参数看起来像您想要一个 like 子句,但您的命名查询使用了 =。变化

SELECT u FROM Userdetails u WHERE u.username = :username

SELECT u FROM Userdetails u WHERE u.username like :username

它应该可以工作。

关于database - 不从搜索查询中检索任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20129274/

相关文章:

java - 需要一种为 Spring Boot 生成 Java 类的方法

iphone - 如何更改或替换iPhone内的数据库sqlite?

algorithm - 找到最独特的词,惩罚共同的词

java - "invalid stream header"异常 - 使用 JPA 和 MySQL 进行 Lob

java - 无法删除或更新双向关系中的父行

php - 动态输入数据库

java - 我应该怎样编写一个自动编辑 XML 文件的算法

正则表达式搜索给定单词前后的 5 个单词

python - Python 加权搜索和排序

JSF Controller 、服务和 DAO