• 表或视图不存在 Hibernate Oracle


    曾经运行一个别人写的程序,之前连的别人的机器的数据,后来我把数据导入到本地数据库中运行,出错,如下:
    Hibernate: select sum(rdb_alert_0_.EVENT_COUNT) as col_0_0_ from ASICDB.RDB_ALERT_SECURITY_VIEW rdb_alert_0_
    – SQL Error: 942, SQLState: 42000
    – ORA-00942: 表或视图不存在

    把该SQL语句在PLSQL Develop中运行也出错,把上述语句中的"ASICDB."删除,则运行成功;

    分析Oracle中的SQL语句可以发现:
    1).select sum(rdb_alert_0_.EVENT_COUNT) as col_0_0_ from ASICDB.RDB_ALERT_SECURITY_VIEW rdb_alert_0_
    该语句查询的是用户"ASICDB"所拥有的数据,前缀代表的就是某个用户,而在我本地,我没有创建名叫"ASICDB"的用户,当然它也没有相关的数据,所以它查询失败。

    2).为什么Hibernate会在此语句中加上"ASICDB"前缀呢?
    分析发现:名叫RDB_ALERT_VIEW.hbm.xml的文件中,有如下语句:
    <hibernate-mapping package="com.asic.model">
    <class name="RDB_ALERT_VIEW" table="RDB_ALERT_SECURITY_VIEW" lazy="false" schema="ASICDB">

    …………..

    </class>
    </hibernate-mapping>
    该文件的书写者在<class>中加了属性schema="ASICDB",在oracle中它就表示的某个用户;

    3).该问题分析到此结束,主要问题就在于hibernate和Oracle结合使用,有关schema属性的问题。

    原文:http://blog.csdn.net/wwbmyos/article/details/21334341

  • 相关阅读:
    cogs1538 [AHOI2005]LANE 航线规划
    cogs468 [NOI2010]超级钢琴
    [国家集训队2011]数颜色
    动态点分治总结
    点分治总结
    数论知识总结-欧拉函数
    BZOJ2683 简单题
    COGS1871 [国家集训队2011]排队(魏铭)
    LUOGU3278 [SCOI2013]多项式的运算
    BZOJ4491 我也不知道题目名字是什么
  • 原文地址:https://www.cnblogs.com/H-BolinBlog/p/8276208.html
Copyright © 2020-2023  润新知