Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在hibernate中为两个字符匹配查询_Hibernate - Fatal编程技术网

在hibernate中为两个字符匹配查询

在hibernate中为两个字符匹配查询,hibernate,Hibernate,我正在使用Hibernate和mysql 我在java中有一个关键字,需要从MySQL中检索该关键字的记录 Restrictions.like("resume Text", keyword, Match Mode.ANYWHERE)); 当我以测试的方式发送关键字时,它可以工作;当我以示例的方式发送关键字时,它可以工作;但当我以测试的方式发送关键字时,示例失败,不返回任何结果 任何解决方案 谢谢您不能将多个值传递给的单值值参数 尝试使用构造逻辑,如下所示: Restrictions.o

我正在使用Hibernate和mysql 我在java中有一个关键字,需要从MySQL中检索该关键字的记录

    Restrictions.like("resume Text", keyword, Match Mode.ANYWHERE));
当我以测试的方式发送关键字时,它可以工作;当我以示例的方式发送关键字时,它可以工作;但当我以测试的方式发送关键字时,示例失败,不返回任何结果

任何解决方案


谢谢

您不能将多个值传递给的单值
参数

尝试使用构造逻辑,如下所示:

Restrictions.or(
    Restrictions.like("resume Text", "test", Match Mode.ANYWHERE),
    Restrictions.like("resume Text", "sample", Match Mode.ANYWHERE)
);

或者改为使用,根据您试图实现的匹配逻辑,您不能将多个值传递给的单值
参数

尝试使用构造逻辑,如下所示:

Restrictions.or(
    Restrictions.like("resume Text", "test", Match Mode.ANYWHERE),
    Restrictions.like("resume Text", "sample", Match Mode.ANYWHERE)
);

或者改为使用,这取决于您试图实现的匹配逻辑。

波希米亚语是正确的,但如果您有2个以上的Or子句,则可能最好使用析取(Or)或连词(and):


波希米亚语很合适,但如果你有2个以上的or子句,那么你可能最好使用析取(or)或连词(and):


谢谢,你是对的,但是如果用户在一个关键字中输入sample,test,或者甚至在搜索框中输入test,sample,test,test2,那么我将如何将一个关键字分配到4中,并使用4个不同的子句。简单,将
或clause。在for循环中为每个逗号分隔的值添加(…)
。谢谢,你是对的,但是如果用户输入sample,在一个关键字中进行测试,或者甚至在搜索框中进行测试、采样、测试、测试2,然后我将如何将一个关键字分配到4个关键字中并使用4个不同的子句。简单地说,将
或clause。在for循环中为每个逗号分隔的值添加(…)