java MappingException提示Association references unmapped class错误的解决方法

出现如下错误信息时

Caused by:
org.hibernate.MappingException: Association references unmapped class: SubjectChapter(SubjectChapter为出错的类)

从错误提示信息可知是有一个POJO对象(这里是SubjectChapter)没有映射到。但是发现自己已经写了相关的xml映射文件。

这时可以查看Hibernate.cfg.xml文件里有没有加入这个POJO的映射文件:

<mapping resource="com/xx/entity/xx.hbm.xml"/>







或者查看该POJO对象的映射文件有没有写错,包括类路径和基本的属性映射。如果没有错再查看关联到了该POJO对象的映射文件中,该POJO对象的类路径有没有写错。



如下面的例子引起了该错误:




<hibernate-mapping>
        <class name="com.exam.entity.Subject" table="exam_subject">
                <id name="subjectName" column="subject_name"></id>
                <many-to-one name="subjectType"  column="subject_type_id" cascade="all"/>     
                <set name="subjectChapter" inverse="true">
                        <key column="subject_id"/>
                        <one-to-many class="SubjectChapter"/>
                </set>
 </class>
</hibernate-mapping> 

这里发现原来是set标签里的one-to-many的类路径没有写完整,修改添加完整的类路径



<one-to-many class="com.exam.entity.SubjectChapter"/>



如果再不行的话,也将many-to-one

的类路径改成完整的类路径






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值