1
我要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));
,但我不喜欢创建标准或者1的这种方式,OR 2 ...
我所有的变量(displayName .... tagMultiTokenSiteVar)都应该是OR。我可以将它添加到列表或其他东西吗?
哇,谢谢。正是我需要的。 why criteria.setProjection(Projections.groupProperty(“displayName”));什么都不做?我需要不同的记录具有相同的显示名称 – antohoho
有一个明确的标准http://stackoverflow.com/questions/10731723/how-to-add-distinct-in-hibernate-criteria –