"table" is not mapped 错误解析与解决方案

报错信息如下,供参考,其中asset是我的表名。

严重: Exception occurred during processing request: asset is not mapped [from asset where id = ? ]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: asset is not mapped [from asset where id = ? ]
org.springframework.orm.hibernate3.HibernateQueryException: asset is not mapped [from asset where id = ? ]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: asset is not mapped [from asset where id = ? ]

而我的Hibernate类名是Asset.java

问题所在:请求Hibernate类对象的时候错当表名当作对象名。在这里就是把asset当作Asset去实例化一个Hibernate的持久类。代码中是没有asset.java的,所以报错。

总结:Hibernate配置中经常会把表名和Hibernate持久类对象名相混淆。比如下面的例子,User写成user就会报 user is not mapped 。

List<User> result =(List<User>) session.createQuery("from User").list();

类似案例参考:
http://www.blogjava.net/wj110reg/articles/216180.html
http://stackoverflow.com/questions/9954590/hibernate-error-querysyntaxexception-users-is-not-mapped-from-users
http://www.itpub.net/thread-677707-1-1.html

你可能感兴趣的:(table)