解决在Oracle数据库中使用hibernate生成表不能正确创建表的问题

使用Hibernate在Oracle数据库中生成表时遇到的问题及解决方法 在使用Hibernate与Oracle数据库进行交互时,生成表不正确的问题可以通过指定适用于Oracle数据库的方言来解决。通过配置文件指定方言需要修改Hibernate配置文件中与方言相关的配置项的值。这可能是由于Hibernate默认使用的数据库方言不适用于Oracle数据库,导致生成的表结构与预期不符。要解决这个问题,我们需要告诉Hibernate使用适用于Oracle数据库的方言。希望本文提供的解决方法能帮助你解决在Oracle数据库中使用Hibernate生成表不正确的问题。 阅读详情

最近在项目中使用hibernate的动态生成表,即将hbm2ddl.auto配置成update时,发现hibernate并没有按照默认的生成规则生成相应的数据表信息。但奇怪的是,只是部分表没有生成,而其它的表即生成成功了。重新启动项目,发现问题依旧。奇怪的是,虽然有些表没有生成,但它相关联的关联表即生成了,而且在生成时,会报一个找不到相关的引用表的错误。报的错误如下:

 



2011-05-06 09:45:56 [org.hibernate.tool.hbm2ddl.SchemaUpdate]-[ERROR] Unsuccessful: alter table r_role_x_menu add constraint FK474DC862E1A553E2 foreign key (menu_id) references p_menu
2011-05-06 09:45:56 [org.hibernate.tool.hbm2ddl.SchemaUpdate]-[ERROR] ORA-00942: 表或视图不存在

    找了半天,最后发现一个问题,即这里需要引用的表p_menu在另一个用户空间里已经存在了,而hibernate在创建表时,在另一个用户空间中找到了这个表,故不再在当前的用户空间中创建这个表了。而在创建关联表时,由于关联的是本用户空间的表,故有此错误。
    hibernate使用了jdbc默认的databasemeta来寻找相应表数据信息,当使用默认的配置时,由于某种原因(并不是每次都能发生,取决于数据库本身以及相应的驱动)。当使用当前用户连接到数据库时,使用databasemeta寻找数据库表信息时,会查询出其它用户的数据表信息(即使当前用户没有相应的权限)。
    解决此问题的方法很简单,只需要在hibernate.cfg.xml中配置一句:


<property name="default_schema">当前连接用户</property>

   这样,使用databasemeta时,就会强制性地在当前用户空间中寻找数据库信息了,这样就能正确的创建出表结构了。


原文:http://www.linuxidc.com/Linux/2011-06/37914.htm

权限管理系统(spring+structs+hibernate) 使用spring structs hibernate 实现的权限管理系统,功能挺强大的,提供人员管理、模块管理、角色管理、用户管理相关的代码。 同时,需注意,在分页中实现了动态更改每页显示行数的功能(请参考机构管理的实例) 立即下载

相关推荐

前端宝典之七:React性能优化实战精华篇

本文主要讲解实战项目中React性能优化的方法,主要分为三个大的方面:减少不必要的组件更新、组件优化以及tree-shaking,共11个方法

franktaoge的博客 1902

JPA 这个功能差点让我丢了工作!

Java技术栈www.javastack.cn关注阅读更多优质文章故事背景前阵子,有位朋友在微信上问我数据被删了能不能恢复,我问了下原因,居然是因为一个配置项惹的祸。故事细节在 Spri...

Java技术栈,分享最主流的Java技术 677

用Isaac Sim复现经典案例:手把手教你写Python脚本控制机械臂抓取(附避障算法调试心得)

本文详细介绍了如何使用NVIDIA Isaac Sim仿真系统复现机械臂抓取经典案例,包括Python脚本编写、避障算法调试等关键步骤。通过URDF模型导入、关节控制逻辑实现和RMPFlow避障配置等实战演示,帮助开发者快速掌握机器人仿真技术,特别分享了官方文档未提及的实用调试技巧和性能优化策略。

weixin_30632089的博客 408

JPA在Oracle中自动创建表失败

使用jpa可以帮助我们在数据库中自动创建表。 ①创建实体类: @Entity @Table(name = Schema.TABLE_NAME) public class BNoLine extends BBufferLine { //省略其他字段 private BigDecimal originalMemberGrossInterestRate; @Column(p...

Clare Tung 2183

python机器人编程——用python实现一个写字机器人

本篇我们构建一个可以跟人一样写字的机器人python软件。实现如下功能:打开一个写字板,人类在屏幕上写或画出任意形状,机器人同步在纸面上画出和人类一样的形状,就好像人类在远程操控机械臂,又或是机械臂是人的另一只手。这个软件是可以扩展的,如果连上互联网,可以实现人在北京写了一行字,在上海的机器臂同时也在自己的本子上写了一行字。

JAMES费的空间 7994

版图学习汇总十一(DRC、LVS注意事项)

esd。

weixin_56071389的博客 2263

使用jpa配置update无法自动创建表,Table ‘xxx‘ doesn‘t exist

问题 最近在跟着视频学习jpa时,运行时报错 java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) at org.springframewor

a2667486939的博客 1043

Labview如何0基础自学快速入门?(纯干货帖)

讲解了如何学习Labview,Labview如何0基础入门,自学Labview的方法。什么都不会如何学好Labview的分享,欢迎关注文章~文章提供《Labview宝典》pdf下载,和《Labview虚拟仪器数据采集与通信控制》pdf下载

关注我,更多技术问题欢迎私聊~ 2万+

Java jpa自动建表 危害,JPA 没法自动建表

JPA 无法自动建表本帖最后由 zhanglt 于 2011-06-03 17:03:50 编辑最近在学JPA,遇到一个问题,发现代码无法自动建表。代码如下:packagecom.babasport.bean.product;importjavax.persistence.Entity;importjavax.persistence.GenerationType;importjavax.p...

weixin_30499557的博客 320

图像增强算法:基于Retinex的图像增强算法

该算法对图像的亮度和颜色进行分离处理,然后通过调整它们的比例来提高图像的质量。滤波后的图像将保留颜色信息,并减少图像中的噪声。接下来,Retinex算法使用一个高通滤波器对原始图像进行滤波处理,以增强图像中的亮度信息。通过使用Retinex增强算法,我们可以有效地提高图像的质量,增强图像中的细节和颜色信息。最后,Retinex算法通过将颜色恢复和亮度调整后的图像进行比例调整,以获得最终的增强图像。Retinex算法是一种常用的图像增强算法,它通过对图像的亮度和颜色进行调整,以提高图像的视觉质量。

XsiJava的博客 436

Python 爬虫实战:京东商品价格与评论数据爬取

本文介绍了使用Python爬取京东商品价格与评论数据的完整流程。主要内容包括: 环境准备:安装requests、BeautifulSoup、pandas等库,建议使用Python 3.8+虚拟环境。 目标分析: 商品列表页(HTML)包含名称、价格、SKU ID等数据 评论数据通过JSON API获取 反爬策略: 随机User-Agent 请求延迟2-5秒 设置必要Cookie 代码实现: 基础配置:设置输出目录、随机UA生成器 搜索列表页爬取:解析HTML获取商品基本信息 评论数据爬取:通过JSON AP

u014481728的博客 421

hibernate注解配置问题

(1):如果实体类属性名与表字段名不一致的时候,要么都注解在属性前,要么都注解在get方法前。不能部分注解在属性前,部分注解在方法前。  (2):如果实体类属性名与表字段名一致的时候,可以部分注解在属性前,部分注解在方法前。  (3):如果在实体类中某些属性不注解:(属性和get都不写注解),默认为表字段名与实体类属性名一致。  (4):如果实体类的某个成员属性不需要存入数据库中,使用@Tr

xpyuserxpy的专栏 655

【数据集】GPM IMERG Daily Precipitation Dataset

GPM IMERG Daily Precipitation Dataset

WW、forever的博客 1220

解决在Oracle数据库中使用hibernate生成表不能正确创建表的有关问题

解决在Oracle数据库中使用hibernate生成表不能正确创建表的有关问题  www.MyException.Cn   发布于:2013-08-26 12:17:40   浏览:16次  0解决在Oracle数据库中使用hibernate生成表不能正确创建 表的问题 最近在项目中使用hibernate的动态生成表,即将hbm2ddl.auto配置成update时,发现hibernate并

hsg77的专栏 1154

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

解决在oracle数据库中使用hibernate生成表不能正确创建表的问题

 最近在项目中使用hibernate的动态生成表,即将hbm2ddl.auto配置成update时,发现hibernate并没有按照默认的生成规则生成相应的数据表信息。但奇怪的是,只是部分表没有生成,而其它的表即生成成功了。重新启动项目,发现问题依旧。奇怪的是,虽然有些表没有生成,但它相关联的关联表即生成了,而且在生成时,会报一个找不到相关的引用表的错误。报的错误如下: 2011-

573's 自由天空下 3876

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

hibernate oracle create 不创建,解决在Oracle数据库中使用hibernate生成表不能正确创建表的问题...

最近在项目中使用hibernate的动态生成表,即将hbm2ddl.auto配置成update时,发现hibernate并没有按照默认的生成规则生成相应的数据表信息。但奇怪的是,只是部分表没有生成,而其它的表即生成成功了。重新启动项目,发现问题依旧。奇怪的是,虽然有些表没有生成,但它相关联的关联表即生成了,而且在生成时,会报一个找不到相关的引用表的错误。报的错误如下:找了半天,最后发现一个问题,即...

weixin_39953845的博客 192

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

[Hibernate]Oracle 不同用户同名表名问题

From: http://xmkevinchen.iteye.com/blog/196372 一般来说Hibernate配置数据库连接只需要下面几行配置 Java代码   ##Oracle 9i/10g  hibernate.dialect org.hibernate.dialect.Oracle9Dialect  hibernate.connection.d

Seven's Rainbow Paradise 2642

利用hibernate的映射文件,自动生成oracle数据库表

第一种:利用hibernate根据映射文件生成表 1、首先下载oracle的jdbc驱动包,本例子采用的oracle 11g,所以需要下载ojdbc6.jar版本。 2、在class根目录下创建hibernate.cfg.xml文件,内容如下: "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.

在交流中成长 3146

Hibernate Oracle 11g 无法自动生成表

用HIbernate+Oracle整合的时候遇到了一个问题,运行Main方法的时候不报错,也没有任何的提示信息,但是却无法创建表。 public static void main(String[] args) { Configuration cfg = new Configuration(); cfg.configure(); SessionFactory sessionFact

xiaobo595369652的专栏 1924

MyEclipse通过Oracle数据库表反转生成实体类,hibernate反向生成

MyEclipse通过Oracle数据库表反转生成实体类,hibernate反向生成 表要先确定已经设置ID主键 在开发项目的阶段,当项目的数据库表设计完毕之后,接下来就是要进行开发了。但是一个项目中的表一般很多,开发的第一步就是要先在项目中创建对应数据库表的实体类,这是一个体力活,也需要非常细心,而且还非常的浪费时间。 不过使用MyEclipse的反转功能就很省力拉。。 反转生成实体类大致分为3步。 第一步:通过Myeclipse连接数据库 1.在Myeclipse中打开数据库视图 Window --&g

原&点、、 341

oracle 11如何创建表,hibernate oracle11g 没法创建生成表

hibernate oracle11g 无法创建生成表数据库版本为 oracle11ghibernate版本为 hibernate-release-4.1.6.Final数据库中名为ORCL,创建了一个用户为 hibernate 密码为hibernate 并给了dba权限。相关文件User.javaJava codepackage com.hibernate;import java.util....

weixin_42516967的博客 247
上一篇: QQ邮件客户端、163免费邮件客户端设置POP3、SMTP、IMAP地址
下一篇: Js实现Map对象
Ivan_mo
博客等级 码龄15年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值