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

【前言】

         起因是我在给公司做官网的时候用了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 和实体属性一样,和数据库字段名一样,但是属性数不一致。

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

【总结】

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

           

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农胖虎-java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值