Проблема с левым внешним соединением в спящем режиме: ожидаемый путь при соединении

У меня две таблицы, что-то вроде:
Статья и релевантность статьи
Они имеют отношение один к одному, и ArticleRelevance является необязательным, что означает, что статья может (или не может) иметь ArticleRelevance.

Я хочу выбрать все статьи вместе с деталями ArticleRelevance.

С традиционным SQL я выполню внешнее соединение таблиц, например

SELECT *
FROM ARTICLE A LEFT OUTER JOIN ARTICLE_RELEVANCE AR ON A.ARTICLE_ID = AR.ARTICLE_ID

Я попробовал аналогичный запрос в HQL и получил исключение с сообщением «Ожидается путь для соединения»

Я не могу поймите это сообщение. Что это означает и как мне ее решить?

(Как вы, наверное, уже догадались) Я абсолютный новичок в спящем режиме.

У меня есть , чтобы использовать 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);

На этом форуме кто-то говорит, что это «недостающая функциональность». Верно?

5
задан Pascal Thivent 12 October 2010 в 19:38
поделиться