2010-10-25 165 views
0

如果我在HQL查询中使用表名而不是类名的是这样的:休眠问题

select classname.field name as obj from table name 

,我已经在HBM文件中指定的映射。但它显示出异常:表名不映射

和第二件事是我在上查询关键字的使用则表现出异常: 意外的标记:在

回答

1

HQL不是SQL。因此,当您打算使用表名而不是类名时,或尝试使用数据库特定的单词(如ON)时,应该创建SQL,而不是HQL。我的意思是使用方法如createNativeQuery()并提供结果映射。

3

hbm文件中的映射告诉Hibernate实体对应哪个表,但您仍然始终在HQL查询中使用类名。

如果您确实想要执行本机SQL,请参阅this