【问题标题】:Join two table using Criteria in Hibernate?在 Hibernate 中使用 Criteria 加入两个表?
【发布时间】:2016-10-09 06:24:35
【问题描述】:

我有这样的查询,以 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?

【问题讨论】:

  • 查看here 使用SqlRestrictionexists 的解决方法。

标签: java hibernate hibernate-criteria nhibernate-hql


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-01-11
    • 2015-04-01
    • 1970-01-01
    • 2018-07-24
    • 2011-08-30
    • 2023-03-27
    • 2018-08-21
    • 1970-01-01
    • 2017-02-16
    相关资源
    最近更新 更多