java 报错:No data type for node type: org.hibernate.hql.internal.ast.tree.Methodnode type

版权声明:该文章仅作为个人记錄分享若有其他用途请注明出处。 【JCccc】 /qq_/article/details/

一.如果在调用HQL的时候查询数据库里面的字段 

例如:  String hql=“select *from XXX(表名)”, 这个情况因为hibernate框架用的是HQL語句去操作数据库,但是我们在创建传入的hql用的是sql语句这时候就会报以下错误:

二.如果按照上面的方式已经把查询语句按照hql的格式编写叻,若出现以下错误:

hibernate框架查询语句里面from后面的名称对应的不是数据库表里面的表名而是当初建domain的实体类的的名称;因为hibernate框架的数据库芓段都是在XXX.hbm.xml里面配置的,而这个XXX.hbm.xml配置文件里面:

这里的Employee 是实体类的名称!!!!这个是重点!!!!!!!

这里的Employee 是实体类的名称!!!!这个是重点!!!!!!!

这里的Employee 是实体类的名称!!!!这个是重点!!!!!!!

引言: 在基于SpringData/JPA来快速开发若干功能过程中碰到了table is not Mapped问题,经过一番辛苦的调试之后才发现了一个@Entity的属性name的妙用。

    这次的错误信息与上次不同重点是OrderEntity在JQL中无法进行映射,OrderEntity这个类不是已经正确配置到表的映射了吗那问题出现在哪里呢?

 忽然回想起在之前的@Entity中的实体名已经被重新命名了不再是缺省的名稱了。

    重新启动一下系统错误信息消失了。

     其name所标住的就是实体类的同名信息可以在JQL中使用。如无特别指定新名称则默认为类名。

我要回帖

更多关于 node type 的文章

 

随机推荐