今天写代码,遇见了一个错误
hql错误:No data type for node: org.hibernate.hql.ast.tree.IdentNode
意思很清楚,没有找到这个节点
但是呢,我去实体类里面看了一下,是有的,我就很纳闷了
实体类不是我写的,我只拿来用。估计之前的程序猿也不是写的,而是反向生成的。
实体类按照注解的方式去添加的,然后我就找到那个出错的属性
忽然间想起了什么
//属性名
private java.lang.String NameInRoom;
//get方法
@Column(name ="NameInRoom",nullable=true,length=36)
public java.lang.String getNameInRoom() {
return NameInRoom;
}
我用的属性值,首字母大写的
实际上,hibernate找的是get方法,而不是属性名
但是呢,get方法对应的实际上是转换首字母小写的,真是个坑啊
再次改为首字母小写后,问题解决
记录一下,这个坑