gpt4 book ai didi

java - Hibernate限制在列表中使用like子句进行搜索

转载 作者:行者123 更新时间:2023-12-01 18:16:10 25 4
gpt4 key购买 nike

我需要有关 hibernate 标准限制的帮助。

众所周知,我们对 list 使用 IN 限制,即

Criteria criteria = session.createCriteria(Student.class);
List<String> studentNames= new ArrayList();
criteria.add(Restrictions.in("name",studentNames);
List list = criteria.list();

并使用类似我们使用这样的限制,即

String matchString = "Suraj Kumar";
criteria.add(Restrictions.like(
"studentName", matchString));

问题:我想要的是列表中的每个元素都应该使用“LIKE”子句进行搜索。如果我们使用 IN 子句,那么它将将该元素与 IN 子句中传递的所有元素进行比较,并且该比较基于相等性。

但要求是,列表中的每个元素都应该使用 LIKE 子句与相应的数据库列进行检查。

请帮助我创建具有相同的 hibernate 条件限制。

谢谢

最佳答案

您可以尝试使用 Disjunction,如果您有多个 OR 条件,则可以使用 Disjunction。

    Criteria criteria = session.createCriteria(Student.class);
List<String> studentNames= new ArrayList();
Disjunction disj = Restrictions.disjunction();
for (String value : studentNames) {
disj.add(Restrictions.like("name", value));
}
criteria.add(disj);
List list = criteria.list();

关于java - Hibernate限制在列表中使用like子句进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60363633/

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