Hibernate:使用不按预期工作的条件进行搜索

时间:2016-03-26 19:20:03

标签: spring hibernate

我有实体"书签"使用"关键字" (多对多)和"标签"(多对多)。我想通过关键字" k"找到所有书签。 - > ("k" belong to "keyords") || ("k" belong to "tags")。这是代码:

Criteria criteria = session.createCriteria(Bookmark.class)
                .createAlias("tags", "tagsAlias")
                .createAlias("keywords", "keywordsAlias");

Disjunction  or = Restrictions.disjunction(
                Restrictions.like("tagsAlias.tagName", keyword + "%"),
                Restrictions.like("keywordsAlias.keyword", keyword + "%"));

criteria.add(or);
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

List result = criteria.list();

有一个标准和一个别名一切都很好。但是有两个别名,结果不正确 - 只有正确输出的子集。我哪里错了?

任何帮助指针都赞赏。

0 个答案:

没有答案