当前位置:   article > 正文

No data type for node: org.hibernate.hql.ast.tree.IdentNode问题的解决_no data type for node: org.hibernate.hql.internal.

no data type for node: org.hibernate.hql.internal.ast.tree.identnode

      使用Hibernate的时候,出现这个错误信息,经过网上的解决方法,成功的解决这个错误信息,并且记录下来。

       从错误信息,可以看出是因为在执行hql语句的时候,hql中填写的字段没有和实体类中的字段对应,但是我查看自己的实体类中的属性的名称和属性对于数据库中的字段的映射,发现并没有什么错误,然后baidu一下,成功的解决了问题,

   报错的原因:

           我在实体类中写的属性的名称是以大写字母开头,所以在hql语句调用我这个属性的时候,不能获取到对应的属性,故报错,然后我将对应的属性的开头的字母变为小写,遵守驼峰命名法,然后重写get/set方法,成功解决。

    原理:

             hibernate中的hql语句,是根据查询的字段去查找对应的实体类,然后查找对应的字段,其中,hql语句中,拼接的字段名称,并不是直接去查找实体类中的字段,而是去调用get方法获取到对应的属性名,然后将get方法进行切割,将get去掉,然后将首字母变为小写,所以如果字段的首字母为大写,就会找不到该字段,无法进行映射,所以该异常的解决方法,将属性的首字母小写

   

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号