gpt4 book ai didi

java - Hibernate 查询 LIKE 子句,但用空格分隔查找前缀和通配符

转载 作者:行者123 更新时间:2023-11-30 06:18:23 25 4
gpt4 key购买 nike

我有一个 Hibernate 查询,它有一个要查找的前缀,如下所示:

SELECT ... WHERE PRODUCT_ID LIKE ?

PRODUCT_ID 的格式如下:

ABC123 Brown Desk
ABC1 Desk Set
DE84 Bar Stool
83UIK Spoon

目前,准备好的语句值如下所示(假设 productId 作为参数传入):

productId%

这意味着对于查询的 ID ABC1,它将返回上述列表中的两个结果:

ABC123 Brown Desk
ABC1 Desk Set

我的问题:如何在查找中包含空格,以便查询针对特定产品,而不仅仅是前缀?

我尝试过:

'productId %'

但它根本不返回任何结果。我如何告诉 Hibernate 我想要查找 productId[SINGLE SPACE]%

最佳答案

尝试使用CONCAT而不是'productId %''? %':

SELECT ... WHERE PRODUCT_ID LIKE CONCAT(?, ' %')
//------------------------------------------^^

或者您可以在将 productId 发送到查询之前将其与末尾的空格连接起来:

Query query = session.createQuery("SELECT ... WHERE PRODUCT_ID LIKE ?");
query.setParameter(1, productId + " %");
//---------------------------------^^

关于java - Hibernate 查询 LIKE 子句,但用空格分隔查找前缀和通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48714343/

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