在 Hibernate 中使用 Criteria 连接两个 table?

Join two table using Criteria in Hibernate?

我有这样用 hql 格式编写的查询:

Query qq = session.createQuery(
    "select question from Question question " +
    "join question.information.tags t1 " +
    "join question.information.tags t2 " +
    "where t1.name = 'java' and t2.id = 63"
        );

我用 Criteria 格式写了这个查询,但它抛出了异常:

session.createCriteria(Question.class, "q")
        .createAlias("q.information.tags", "t1")
        .createAlias("q.information.tags", "t2")
        .add(Restrictions.eq("t1.id", "63"))
        .add(Restrictions.eq("t2.name", "java"))
        .list();

Method threw 'org.hibernate.QueryException' exception.: duplicate association path: information.tags

有什么问题?有什么办法可以用 Criteria 格式写 hql 吗?

我认为不可能使用 Criteria 加入同一个协会两次

您可以找到仍然开放的相关 JIRA here