gpt4 book ai didi

java - Hibernate "OR"限制

转载 作者:行者123 更新时间:2023-11-29 03:30:31 24 4
gpt4 key购买 nike

我必须将 Restriction.or 添加到我的标准中

我在做

 Criterion displayName          = Restrictions.ilike("displayName", search, MatchMode.ANYWHERE);
Criterion lastUpdatedName = Restrictions.ilike("lu.displayName", search, MatchMode.ANYWHERE);
Criterion tagTokenVarText = Restrictions.ilike("tvtext.value", search, MatchMode.ANYWHERE);
Criterion tagTokenMultiText = Restrictions.ilike("tmtText.value", search, MatchMode.ANYWHERE);
Criterion tagTokenSiteVar = Restrictions.ilike("ttSiteVar.displayName", search, MatchMode.ANYWHERE);
Criterion tagMultiTokenSiteVar = Restrictions.ilike("tmtSiteVar.displayName", search, MatchMode.ANYWHERE);

Criterion or1 = Restrictions.or(displayName, lastUpdatedName);
Criterion or2 = Restrictions.or(tagTokenVarText, tagTokenMultiText);
Criterion or3 = Restrictions.or(tagTokenSiteVar, tagMultiTokenSiteVar);
Criterion or4 = Restrictions.or(or1, or2);
criteria.add(Restrictions.or(or4, or3));

但我不喜欢这种创建标准 or1、or2...的方式

我的所有变量 (displayName....tagMultiTokenSiteVar ) 都应该是 OR。我可以将它添加到列表中吗?

最佳答案

使用析取:

Criteria crit = session.createCriteria(YourClass.class);
Disjunction disjunction = Restrictions.disjunction();
disjunction.add(Restrictions.ilike("lu.displayName", search, MatchMode.ANYWHERE));
// ...add others restrictions...
crit.add(disjunction);

关于java - Hibernate "OR"限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18522092/

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