Я хочу выполнить следующий запрос:
from Item i where i.categoryItems.catalogId = :catId
Это, однако, приводит к следующему исключению: незаконная попытка разыменования коллекции. Так что я погуглил, нашел это сообщение на форуме Hibernate https://forum.hibernate.org/viewtopic.php?p=2349920, которое рекомендовало мнесделайте следующее:
from Item i, IN (i.categoryItems) WHERE i.catalogId = :catId
Этот вид работает, но есть проблема с этим: он возвращает мне массив Object с объектом Item и CategoryItem.Меня интересует только один объект Item (Список)
Мое отображение 'Item':
<hibernate-mapping package="be.xx.xx.xx.xx.domain" default-access="field">
<class name="Item" table="ITEM">
<id name="articleId" column="article_id" type="long">
<generator class="assigned" />
</id>
...
...
<set name="categoryItems" table="CATEGORY_ITEM">
<key column="item_id" />
<one-to-many class="be.xx.xx.xx.xx.domain.CategoryItem" />
</set>
</class>
</hibernate-mapping>
У кого-нибудь есть идеи?
Спасибо