在Hibernate中使用Criteria加入两个表?

时间:2016-10-09 06:24:36

标签: java hibernate hibernate-criteria nhibernate-hql

我有这样的查询用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();
  

方法抛出'org.hibernate.QueryException'异常:   重复的关联路径:information.tags

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

1 个答案:

答案 0 :(得分:1)

我不认为可以使用Criteria

两次加入同一个关联

您可以找到仍处于打开状态的相关JIRA here