您的位置:首页 > 其它

【Hibernate】该和谁一样 ------ 一个错误下的小尝试

2017-05-03 09:57 197 查看

【前言】

         起因是我在给公司做官网的时候用了ssh框架, 报了下面这么个错误:

         Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from input stream

Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
Caused by: org.hibernate.PropertyNotFoundException: field [UID] not found on com.tgb.dmtOS.useradmin.vo.AdminUser
              
        原因其实给的提示里写的很清楚:在实体对象 AdminUser里没有找到UID。 但是由于我做之前特意问了下别人, 配置文件里的property是应该和数据库里字段一致还是和对象属性一致,得到了和数据库一致的回复 。 所以就没忘映射错了这上想,查了一个小时资料才想到可能是这个问题。 于是顺着这个问题就又试了几种情况。

【正文】

          情况一:hbm.xml 里property和 实体属性不一样,和数据库一样。

          结果: 失败,不能运行。 报上述错误。

          情况二:hbm.xml 和实体属性一样,和数据库字段名不一样。

                  比如::property name="userna" ,数据库字段为“username”

                 结果:不报错,但是不能正确映射到数据库。

 

          情况三:hbm.xml 和实体属性一样,和数据库字段名一样,大小写不一样。

                 比如: property name=“username”, 数据库字段为“userName”。

                 结果: 可以正常运行。

          情况四: hbm.xml 和实体属性一样,和数据库字段名一样,但是属性数不一致。

                结果: 可以正常运行, 会映射操作程序中操作的字段。

【总结】

           每一个错误都是咱们成长明细的机会, 在错误中对原理把握更深刻。

           
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐