Hibernate出现表名is not mapped问题
排查这三点,完美解决Hibernate出现表名is not mapped问题。
·
今天做修改保存功能时遇到了一个错误,具体错误信息如下:
org.springframework.orm.hibernate3.HibernateQueryException: spkbkt_nc_account_v2 is not mapped [from spkbkt_nc_account_v2 where 1=1 and id=? and is_delete != 'Y' ];
简单搜了一下,结果表明出现此错误可能有三个原因:
- 先看下面这段代码,要注意的是,这里的spkbkt_nc_account_v2在此处不是你数据库对应的表名,也不是你的映射文件的表名,而是你的实体对象的名称(是区分大小写的!必须与实体类名一致)。
String searchSql = "from spkbkt_nc_account_v2 where 1=1 and id=? and is_delete != 'Y' ";
- 配置文件没有加载到Hibernate的实体类列表里面。
- 映射文件的字段与数据库字段不一致,或者名称不一致。
大致看一下,可以排除第2点,因为其他的都是没问题的,只有这个出了问题。
看下代码,检查一下1、3点,果然,第1点出了问题。这是我的实体类:
public class Spkbkt_indicator_mapping extends SpkBaseEntity<Spkbkt_indicator_mapping> {
找到了问题,修改一下SQL就可以啦。
String searchSql = "from Spkbkt_indicator_mapping where 1=1 and id=? and is_delete != 'Y' ";
更多推荐
已为社区贡献1条内容
所有评论(0)