во время использования hibernate я столкнулся с этой проблемой сопоставления классов в двух разных пакетах.
У меня есть класс myapp.domain.ItemforSale, который должен быть сопоставлен с myapp.cart.CartItem
Я создал CartItem.hbm.xml, как показано ниже
<hibernate-mapping package="myapp.cart">
<class name="CartItem" table="CARTITEM">
<id name="cartItem_id" column="CARTITEM_ID" type="long">
<generator class="native"/>
</id>
<property name="quantity" type="int" column="QUANTITY" />
<many-to-one name="itemforsale" class="myapp.domain.ItemforSale" column="ITEM_FORSALE_ID" lazy="false" />
</class>
...
У меня есть однонаправленное отображение из CartItem в сущность ItemForSale. Во время выполнения теста по сохранению экземпляров ItemForSale в db .. Я получил эту ошибку
506 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
506 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
571 [main] INFO org.hibernate.cfg.Configuration - Reading mappings from resource : myapp/domain/ItemForSale.hbm.xml
636 [main] INFO org.hibernate.cfg.HbmBinder - Mapping class: bookshop.domain.ItemForSale ->ITEMFORSALE
...
746 [main] INFO org.hibernate.cfg.Configuration - Reading mappings from resource : myapp/cart/CartItem.hbm.xml
751 [main] INFO org.hibernate.cfg.HbmBinder - Mapping class: myapp.cart.CartItem -> CARTITEM
...
org.hibernate.MappingException: Association references unmapped class: myapp.domain.CartItem
Я удалил атрибут пакета из элемента и поместил полностью классифицированные имена классов. До сих пор получаю то же исключение ..
<hibernate-mapping>
<class name="myapp.cart.CartItem" table="CARTITEM">
<id name="cartItem_id" column="CARTITEM_ID" type="long">
<generator class="native"/>
</id>
<property name="quantity" type="int" column="QUANTITY" />
<many-to-one name="itemforsale" class="myapp.domain.ItemForSale" column="ITEM_FORSALE_ID" lazy="false" />
</class>
В качестве последней попытки я переместил CartItem в пакет myapp.domain, и все работает!
Любая идея, почему это происходит? В моем приложении не имеет смысла перемещать myapp.cart.CartItem в myapp.domain .. Любая помощь очень ценится.
спасибо
знак