java - WHERE 子句和通配符中的变量值

标签 java sql jpa jpa-2.0

我搜索了两个小时,但找不到解决方案。我想做一个简单的查询,应该检查字符串 m_sName 是否包含 String 变量。我尝试了很多方法但找不到正确的语法。使用变量可以,使用通配符也可以,但是两者一起不起作用。

TypedQuery<Kunde> query; 
query = em.createQuery("SELECT p FROM Kunde p" + 
    " WHERE p.m_sName LIKE :name", Kunde.class);
m_lKunde = query.setParameter("name", m_sSearch).getResultList();

这个查询实际上有效,但我现在不知道如何使用通配符。我尝试了 *,_,% 字符,但没有任何效果。

最佳答案

将通配符附加/前缀到您传入的 token 中:

m_lKunde = query.setParameter("name", "%" + m_sSearch + "%").getResultList();

关于java - WHERE 子句和通配符中的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19295251/

相关文章:

hibernate - 如何在Kotlin Spring Boot中生成QClass?

java - 我是否必须关闭 JdbcTemplate 连接和手动创建的语句?

SQL求和列来合并数据

sql - 优化加入vertica

php - 哪个更好,使用 SQL 查询进行数据操作或在 php 中操作数组中的数据?

mysql - 如何使用 JPA 和 Hibernate 对新实体的子级执行级联合并

java - 如何获取选择不同的结果作为实体列表而不是元组

java - 如何在 Hive 嵌入式模式下运行包含 "select count(*)"和 "group by"子句的 Hive Sql 查询?

java - 将存储的值与文本输出在同一行

java - 我如何在Java中使用IP地址找到城市名称