【发布时间】:2011-04-24 08:16:08
【问题描述】:
我有两张桌子,例如:
文章和文章相关性
它们具有一对一的关系,并且 ArticleRelevance 是可选的,这意味着文章可能(也可能没有)具有 ArticleRelevance。
我想选择所有文章以及 ArticleRelevance 详细信息。
使用传统 SQL,我将对表进行外部联接,例如
SELECT *
FROM ARTICLE A LEFT OUTER JOIN ARTICLE_RELEVANCE AR ON A.ARTICLE_ID = AR.ARTICLE_ID
我在 HQL 中尝试了一个类似的查询,并得到了一个带有消息 "Path Expected for Join" 的异常
我无法理解这条信息。这是什么意思,我该如何解决?
(你可能已经猜到了)我是一个绝对的休眠新手。
我有使用 HQL。其实我已经有一个HQL了,加入两三个表,还要加上这个条件。
StringBuffer hql = new StringBuffer();
hql.append(" select new service.orders.Order (order.orderNo, article.articleNo, article.articleName)");
hql.append(" from (Order order join Article article with order.articleNo = article.articleNo) left outer join ArticleRelevance articleRelevance with article.articleNo = articleRelevance.articleNo");
hql.append(" and order.orderNo = "+orderNumber);
在this 论坛中,有人说这是“缺少功能”。是吗?
【问题讨论】:
标签: java hibernate orm hql left-join