gpt4 book ai didi

java - MappingException .hibernate 映射对于不同包中的类失败

转载 作者:行者123 更新时间:2023-12-02 23:13:16 25 4
gpt4 key购买 nike

在使用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 实例保存到数据库的测试时..我收到此错误

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 是没有意义的。非常感谢任何帮助。

谢谢

标记

最佳答案

org.hibernate.MappingException: Association references unmapped class: myapp.domain.CartItem

这仅意味着它正在 myapp.domain 包中搜索 CartItem,但您的类实际上位于 myapp.cart 包中。所以基本上您显示的 hibernate 映射是正确的,但我认为您的 java 类可能存在一些问题。您能否显示与您的问题相关的 java 类?

或者您没有显示可能导致此异常的其他相关 hibernate 映射。

还要确保 hibernate.cfg.xml 或 Spring 的 applicationContext 中的所有映射都与实际映射相对应。

关于java - MappingException .hibernate 映射对于不同包中的类失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6580102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com