程序报错:表或者视图不存在

遇到这个报错,主要从2个方面考虑:一是用户的权限问题,二是程序中的表与数据库中的表是否对应,尤其是表名是否写对。

我在持久层使用的是hibernate框架连接的oracle数据库。

我让dba确认了我当前的用户确实是读写权限的,尤其对于我报错的这张表;表现出来的是对于其他的表,insert是没有任何问题的,唯独对于pri_ids_mapping这张表就是死活insert不成功。

后来找到原因:

@Entity
@Table(name = "Pri_Ids_mapping")
public class Pri_Ids_mapping {
    @Id
    @Column(name = "mapId", nullable = false)
    @SequenceGenerator(name = "seq_mapId", sequenceName = "SEQ_mapId",allocationSize= 1)
    @GeneratedValue(generator = "seq_mapId", strategy = GenerationType.SEQUENCE)
    private Long mapId;// 主键

}

这个表的主键在生成的过程中出现了问题,由于我的序列的名字没有和表名相关联,特别容易被其他表的序列给替代。

而事实上确实有一个另外的库里的表的序列和SEQ_mapId的名字重复。在创建表的时候允许我的用户使用这个序列的同义词;另外一个序列在创建的时候也允许它所在的库的用户使用这个同义词,这样,后来的将原来的覆盖;我现在想要借助序列生成ID,就要涉及到跨库了,这样就出现了访问权限不足的问题。

解决方案:

@Entity
@Table(name = "Pri_Ids_mapping")
public class Pri_Ids_mapping {
    @Id
    @Column(name = "mapId", nullable = false)
    @SequenceGenerator(name = "seq_mapId", sequenceName = "fhl_pms.SEQ_mapId",allocationSize= 1)
    @GeneratedValue(generator = "seq_mapId", strategy = GenerationType.SEQUENCE)
    private Long mapId;// 主键

}

在使用序列的时候在前面加上库名就可以了。

时间: 2024-10-11 11:56:49

程序报错:表或者视图不存在的相关文章

oracle10g 空表无法导出导致项目报错—— 表或视图不存在

今天下午将远程数据库中数据导出然后导入到本地数据库,部署的项目连接本地数据库后jboss启动后编译报如下错误: 严重: Exception sending context initialized event to listener instance of class com.dicpsi.mis.contextListener.ContextListener org.springframework.dao.InvalidDataAccessResourceUsageException: coul

运行编译后的程序报错 error while loading shared libraries: lib*.so: cannot open shared object file: No such file or directory

运行编译后的程序报错  error while loading shared libraries: lib*.so: cannot open shared object file: No such file or directory -------------------------------------------------------------------------------------------------------------------------------------

winserver2003环境发布ASP程序报错(HTTP 错误 403.1 - 禁止访问:执行访问被拒绝)

问题: 在Windows Server 2003 + IIS6.0上布署.Net 2.0网站时发生如下错误: 该页无法显示 您试图从目录中执行 CGI.ISAPI 或其他可执行程序,但该目录不允许执行程序. -------------------------------------------------------------------------------- 请尝试以下操作: 如果您认为该目录应该允许执行访问权限,请与网站管理员联系. HTTP 错误 403.1 - 禁止访问:执行访问被

WinDbg抓取程序报错dump文件的方法

程序崩溃的两种主要现象: a. 程序在运行中的时候,突然弹出错误窗口,然后点错误窗口的确定时,程序直接关闭 例如: “应用程序错误” “C++错误之类的窗口” “程序无响应” “假死”等 此种崩溃特点:程序已异常,在你未点出错窗口的确定或其他按,所有错误信息都还保留在PC的内存中,可以直接抓取Dump文件.当然,如果你知道 怎么样操作可以让程序崩溃,也可以用守株待兔的抓取方法抓Dump文件. b.程序在运行中的时候,窗口和进程突然消失,没有任何错误窗体 典型的现象:程序自动关闭 或者玩游戏时,游

SharePoint 2013 创建web应用程序报错"This page can’t be displayed"

错误描述 This page can't be displayed ?Make sure the web address http://centeradmin is correct. ?Look for the page with your search engine. ?Refresh the page in a few minutes. 发生过程 创建web应用程序,填写完基本信息以后点击确定,就是"这不会花费很长时间"的提示,然后就报错了,并且SharePoint和iis的日志中

程序报错:Probable fatal error:No fonts found.

今天,使用java写一个验证码,发布到linux服务器上,验证码不能正常显示, 程序报错:Probable fatal error:No fonts found. 经排查项目中使用了new Font("DIALOG", Font.PLAIN, fsize),即名称为"DIALOG"的字体. 解决方案:服务器上装载对应语言包支持 yum groupinstall chinese-support

用XmlSerializer进行xml反序列化的时候,程序报错: 不应有 <xml xmlns=''>

原因 一,类型错误: 比如xml本来是UserInfo类型 用XmlSerializer进行反序列化传入的类型是MemberInfo这就会报错 二,xml根节点和对象的类名不一致,而又没有对类加入[XmlRoot(Namespace = "",IsNullable = false,ElementName = "RequestResult")]限制 用XmlSerializer进行xml反序列化的时候,程序报错: 不应有 <xml xmlns=''>

keil 通过JTAG下载程序 报错:error: flash download failed - &quot;cortex-m3&quot;的解决方法

硬件环境: nxp lpc1788fbd208核心板 软件环境: keil uvision4 segger j-flash arm v4.50 其他: 芯片选择正确 jtag模式 现象:之前用JFlashARM.exe下载了程序,在没有擦除程序的情况下,JTAG模式下用keil下载程序 报错 error: flash download failed - "cortex-m3" 原因:用jFlashARM.exe下载程序后,没有擦除程序 解决:擦除lpc1788 上的程序,然后在keil

(g_jvm)-&gt;AttachCurrentThread(&amp;env, NULL) 后使用 (g_jvm)-&gt;DetachCurrentThread();程序报错

(g_jvm)->AttachCurrentThread(&env, NULL)  后使用 (g_jvm)->DetachCurrentThread();程序报错 ERROR: detaching thread with interp frames (count=13)   在java线程中不能使用AttachCurrentThread.DetachCurrentThread方法来获取JNIEnv.调用DetachCurrentThread函数的地方在java线程中,即在java调用C

Windows8 上面安装Oracle 11g 时,安装程序报错:[INS-13001]环境不满足最低要求

Oracle 11g 时,安装程序报错:[INS-13001]环境不满足最低要求,解决方法: 在安装文件的/stage/svu文件夹下面找到文件 cvu_prereq.xml文件,修改为如下(添加windows 8 相关字段): <?xml version="1.0"?> <HOST PLATID="912"> <SYSTEM> <MEMORY> <PHYSICAL_MEMORY VALUE="128&