【解决】MappingException提示Association references unmapped class错误
2016-06-18 13:29
351 查看
错误代码描述:
Caused by: org.hibernate.MappingException: Association references unmapped class: User
解决问题步骤:
查看User有没有写对应的映射文件User.hbm.xml写了映射文件,在hibernate.cfg.xml中有没有注册,注册的路径对不对
<mapping resource="com/fate/oa/domain/User.hbm.xml" />
以上为解决的基本思路,但我遇到的情况以上都没有错误,那就只能是User.hbm.xml写的有问题了。
问题:
一般在映射文件中指定对应的实体类的class有两种方法:
在class标签的name属性中指定对应类的全名:
<hibernate-mapping> <class name="com.fate.oa.domain.Role" table="oa_role">
在
<hibernate-mapping package="">的package属性中填写对应的类所在的包名:(推荐使用)
<hibernate-mapping package="com.fate.oa.domain"> <class name="Role" table="oa_role">
发现问题:
到这时候我终于发现我的问题真正的原因是出在我使用了第一种方式。当然,第一种方式是可以的,只是相对麻烦,容易不小心出错。之前映射文件内容简单,没有多对一,一对多等关系映射的时候只需要写本类的class全名,而我也有写,所以没报错。然而当有了复杂的映射关系时,配置时我却忘了给class属性都写上全名,所以出错。由此可见直接写在package上要来得简单,以后都应该用这种方式。
相关文章推荐
- JS交互的方法(上)UIWebView
- 总结iOS9中的新的方法
- Android 学习记录-游标适配器应用不同布局
- LinearLayout match_parent wrap_content layout_weight
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- android机型占比
- 获取Object的所有keys or values
- Android的四大组件之BroadcastReceiver
- ios学习路线—iOS高级(AFNetworking)
- Android之DialogFragment
- 论文阅读笔记:You Only Look Once: Unified, Real-Time Object Detection
- [译]图解Android应用的后台任务和提醒
- iOS 音视频合成
- Android之ViewPagerIndictor三角形指示器
- iOS程序生命周期 AppDelegate
- iOS 开发抽屉效果 MMDrawerController
- 当Android Studio 2.1.2 遇到 『No Debuggable Applications』时,终极解决方案!
- viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
- 基础动画的使用
- Error creating bean with name 'sessionfactory' defined in ServletContext resource [/WEB-INF/applicat