我希望用标签标记所有问题"一个"和"两个"使用Criteria API:
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Question.class);
if (tags != null && tags.length > 0) {
criteria.createAlias("tags", "t", JoinType.INNER_JOIN);
Criterion[] criterions = new Criterion[tags.length];
for (int i = 0; i < tags.length; i++) {
criterions[i] = Restrictions.eq("t.name", tags[i]);
}
criteria.add(Restrictions.and(criterions));
}
return criteria.list();
当tags = [&#34; one&#34;,&#34; two&#34;]时,没有返回任何内容,因为据我所知,hibernate首先为每个(问题,标记)对生成每一行,然后过滤它,然后才按问题分组。
我该如何解决这个问题?
tags = [&#34; one&#34;]或tags = [&#34; two&#34;]工作正常。