欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hibernate出现表名is not mapped问题

程序员文章站 2022-04-28 16:37:34
...

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

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' ";
相关标签: Hibernate hibernate