Hibernate出现表名is not mapped问题

2024-04-23 19:53:06 浏览数 (3)

今天做修改保存功能时遇到了一个错误,具体错误信息如下:

代码语言:javascript复制
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' ];

简单搜了一下,结果表明出现此错误可能有三个原因:

  1. 先看下面这段代码,要注意的是,这里的spkbkt_nc_account_v2在此处不是你数据库对应的表名,也不是你的映射文件的表名,而是你的实体对象的名称(是区分大小写的!必须与实体类名一致)。
代码语言:javascript复制
String searchSql = "from spkbkt_nc_account_v2 where 1=1 and id=? and is_delete != 'Y' ";
  1. 配置文件没有加载到Hibernate的实体类列表里面。
  2. 映射文件的字段与数据库字段不一致,或者名称不一致。

大致看一下,可以排除第2点,因为其他的都是没问题的,只有这个出了问题。

看下代码,检查一下1、3点,果然,第1点出了问题。这是我的实体类:

代码语言:javascript复制
public class Spkbkt_indicator_mapping extends SpkBaseEntity<Spkbkt_indicator_mapping> {

找到了问题,修改一下SQL就可以啦。

代码语言:javascript复制
String searchSql = "from Spkbkt_indicator_mapping where 1=1 and id=? and is_delete != 'Y' ";

0 人点赞