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

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在此处不是你数据库对应的表名,也不是你的映射文件的表名,而是你的实体对象的名称(是区分大小写的!必须与实体类名一致)。
String searchSql = "from spkbkt_nc_account_v2 where 1=1 and id=? and is_delete != 'Y' ";
  1. 配置文件没有加载到Hibernate的实体类列表里面。
  2. 映射文件的字段与数据库字段不一致,或者名称不一致。

大致看一下,可以排除第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' ";
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐