使用基于Annotation的Hibernate应用时出现的Exception:not mapped

使用基于Annotation的Hibernate应用时,在使用HQL做查询时出现异常:org.hibernate.hql.ast.QuerySyntaxException:xx not mapped

异常的原因是表没有被映射,但是,明明表结构在数据库中都已经生成了.

测试良久,发现如果在定义注解Entity的时候,指定了映射到数据库中表的名称,那么HQL语句中的对象名称就要换成这里指定的表名称,就不能是类对象名了,或是指定的名称换成默认生成的就ok了.

如下:

@Entity                         --使用默认的表名(entity)

HQL:select _u from User _u

@Entity(name="t_user") --指定表名称

HQL:select _u from t_user _u

相关推荐