使用基于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