mysql - Hibernate搜索条件通过两个不同的列串联?

标签 mysql hibernate

SELECT *
FROM `users`
WHERE CONCAT( first_name, ', ', last_name ) LIKE '%Dineshkumar, gaj%'
LIMIT 0 , 30

就像这个查询一样,如何在 hibernate 中创建搜索条件。此查询使用 firstnamelastname 进行搜索。

最佳答案

我认为在 criteria API 中不可能在 where 子句中使用 concat

但是您可以使用 HQL 来实现相同的目的。尝试以下代码:

Query q = session.createQuery("from User where firstName || lastName like ?");
q.setParameter(0, "%Dineshkumar, gaj%");
q.setFirstResult(0).setMaxResults(30);
List users = q.list();

关于mysql - Hibernate搜索条件通过两个不同的列串联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21398776/

相关文章:

mysql - 在子 ID 中显示父名称..而不是在 Codeigniter 中显示子 ID

mysql - SQL Server 到 MySQL 链接服务器上的插入 OpenQuery 性能极慢

jquery - MYSQL 更新 H251*R119336 与 R119336

hibernate - 使用 Grails DetachedCriteria 无法获取 "count"和 "groupBy"

mysql - 插入多行 JPA Spring Boot Mysql

java - 在 spring mvc hibernate 应用程序中从字符串转换为 blob 时出错

mysql - 根据表的其余部分计算单行的排名

mysql - 按 mysql 值排序,例如 .58

mysql - Hibernate 查询语法错误

Hibernate @EmbeddedId + join