今天用hibernate连接数据库的时候出现这样的错误:
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not determine type for: String, for columns: [org.hibernate.mapping.Column(DEV_NAME)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:266)
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:253)
at org.hibernate.mapping.Property.isValid(Property.java:184)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:371)
at org.hibernate.mapping.RootClass.validate(RootClass.java:192)
at org.hibernate.cfg.Configuration.validate(Configuration.java:957)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1121)
at vesta.nms.persistance.factory.SessionFactoryUtil.currentSession(SessionFactoryUtil.java:43)
at nmms.whb.performacewindow.DeviceSelectpanelinit(performacewindow.java:112)
at nmms.whb.performacewindow.<init>(performacewindow.java:47)
at nmms.whb.mainframe.main(mainframe.java:12)
Exception in thread "main" java.lang.NullPointerException
at nmms.whb.performacewindow.DeviceSelectpanelinit(performacewindow.java:114)
at nmms.whb.performacewindow.<init>(performacewindow.java:47)
at nmms.whb.mainframe.main(mainframe.java:12)
hibernate的映射文件配置错误,因为这个映射文件是我手工编写的,所以开始的时候以为是与数据库中的表对应错误,或者表的字段对应错误,检查了一上午,没有发现以上错误,郁闷。。。。。。
最后仔细检查 映射文件,发现string类型中有大写有小写,于是全部改成小写,错误解决了。。。查阅了一下,“String”是JAVA类型,而"string"才是hibernate类型,人生啊,一个字母忙乎了半天,日了!!!
建议尽量避免手工编写hibernate映射文件,自动生成错误率要低的多!!!