【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 和实体属性一样,和数据库字段名一样,但是属性数不一致。
结果: 可以正常运行, 会映射操作程序中操作的字段。
【总结】
每一个错误都是咱们成长明细的机会, 在错误中对原理把握更深刻。相关文章推荐
- 一个错误与改正 hibernate
- 解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问题。
- Hibernate 注解 没有加@Column一样会在数据库创建这些字段
- spring和hibernate整合的时候一个错误Cannot unwrap to requested type [javax.sql.DataSource]
- spring下hibernate多数据库解决方案,以及跨库事务的尝试
- 对Hibernate默认的JDBC事务的尝试
- Hibernate2查询视图时,数据库返回多条纪录,封装后的对象却都是一样的问题
- 关于android应用中植入广告尝试(新手篇。给和我一样的菜鸟用)
- hibernate的session提交前的getcurrentsession一样和提交后的getcurrentsession不一样(六)
- hibernate 更新 update执行后 数据库改变后,立刻回到原来的样子 好像回滚一样
- 多对多之间的联合组件sql(仅以hibernate关系表举例,其他一样)
- Hibernate起步尝试
- struts+spring+hibernate两张表字段名一样处理方法
- 像开发.net一样开发j2ee应用!快来尝试吧!
- springBoot spring Mybatis/hibernate 初级入门及尝试
- 从零开始-------------------------------------菜鸟的初尝试(献给那些和我一样无知的骚年们)
- 第一个hibernate 尝试(hibernate 入门)
- spring-framework-3.2.4.RELEASE 综合hibernate-release-4.3.5.Final一个错误Caused by: java.lang.NoClassDefFound
- 解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。
- spring-framework-3.2.4.RELEASE 综合hibernate-release-4.3.5.Final一个错误Caused by: java.lang.NoClassDefFound