`
XmKevinChen
  • 浏览: 86136 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

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

    博客分类:
  • J2EE
阅读更多
一般来说Hibernate配置数据库连接只需要下面几行配置
##Oracle 9i/10g
hibernate.dialect org.hibernate.dialect.Oracle9Dialect
hibernate.connection.driver_class oracle.jdbc.driver.OracleDriver
hibernate.connection.username xxxx
hibernate.connection.password xxxx
hibernate.connection.url jdbc:oracle:thin:@127.0.0.1:1521:SID


Oracle是允许不同用户在同一个SID中创建同名的表的,但是如果按照上面的配置
Hibernate的SchemaUpdate操作是不会认帐的
SchemaUpdate指的hibernate配置成
hibernate.hbm2ddl.auto update


例如:
    假设,有模型Entity,已用A用户运行过配置有hibernate的系统或者程序,则,此时数据库中有A.Entity表存在了。将hibernate配置用户改为B,然后运行系统或者程序。将会发现hibernate不会为我们创建B.Entity表。
    如果Entity模型在以A用户运行过后经过修改,同时会发现hibernate既不会创建B.Entity表,也不会更改A.Entity表的结构

如果想让hibernate执行上述描述的特殊操作方式需要在hibernate的配置上指明用户的Schema名,即在hibernate配置添加上
hibernate.default_schema xxxx

做个说明,Oracle中表的完整定位为username.tablename,而添加这个hibernate.default_schema的配置就是使hibernate在查找表的时候加上这个username的前缀(可能这解释有点不妥)

注:
这个问题在hibernate的3.0beta1时,就有人在hibernate的jira上提出
http://opensource.atlassian.com/projects/hibernate/browse/HHH-92
解决的方法在Gavin King的回复中找到
分享到:
评论

相关推荐

    oracle判断表名是否存在

    至于提供的压缩包文件名称列表,"JasperReports结合iReport制作报表教程.pdf"和"用Hibernate和Spring开发持久层.pdf",它们与Oracle判断表名是否存在这一主题没有直接关联。JasperReports是一个报表生成工具,...

    hibernate oracle jar包

    oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@10.0.0.248:1521:ora9,"","" oracle 9i以上版本使用ojdbc14.jar,以下版本使用classes12.jar 11

    J2EE开发使用Hibernate所需要的jar文件,Oracle驱动

    总之,要成功地在J2EE环境中利用Hibernate与Oracle数据库交互,不仅需要正确配置和使用上述的jar文件,还要对Hibernate和Oracle数据库的特性有深入理解,以及具备良好的Java编程和问题解决能力。

    spring hibernate实现动态替换表名(分表)的方法

    Spring Hibernate 实现动态替换表名(分表)的方法 随着数据库的发展,分表操作变得越来越重要。今天,我们将讨论如何使用 Spring Hibernate 实现动态替换表名(分表)。 概述 ---- 在实现动态替换表名时,我们...

    HIbernate与oracle数据库应用例子

    本篇将深入探讨如何在实际项目中结合Hibernate与Oracle数据库进行应用。 一、Hibernate简介 Hibernate是一个开放源代码的对象关系映射(ORM)框架,它为开发者提供了在Java应用中操作数据库的强大工具。通过ORM,...

    hibernate链接oracle

    ### Hibernate连接Oracle数据库详解 在本篇文章中,我们将深入探讨如何使用Hibernate框架连接Oracle数据库,并通过具体的代码示例来理解整个过程。以下内容将详细解释配置文件中的每一部分及其作用,帮助读者更好地...

    hibernate映射Oracle中LONG类型

    Hibernate 框架映射 Oracle 中的 LONG 类型字段是一种复杂的技术问题。Oracle 中的 LONG 类型字段是一种特殊的数据类型,用于存储可变长字符串,最大长度限制是 2GB。这与 Java 中的长整形基本数据类型 long 不同,...

    Myeclipse 10.0 + Hibernate 4.3.5 连接 Oracle 11G的演示代码

    标题 "Myeclipse 10.0 + Hibernate 4.3.5 连接 Oracle 11G的演示代码" 描述的是一个整合项目,它将Myeclipse 10.0集成开发环境、Hibernate 4.3.5对象关系映射框架与Oracle 11G数据库相结合,用于演示如何在这样的...

    springMVC+hibernate+oracle10g实现用户登陆

    在IT行业中,构建Web应用程序是一项常见的任务,而`SpringMVC`、`Hibernate`和`Oracle10g`是三个非常关键的技术组件,它们分别在不同的层面上为应用提供支持。下面将详细介绍这三个技术以及如何将它们整合起来实现...

    jsp+hibernate+oracle出库单模块

    【标题】"jsp+hibernate+oracle出库单模块"是一个基于Web的库存管理系统中的一个关键组件,它主要用于管理仓库中的货物出库流程。在这个模块中,开发人员使用了JavaServer Pages(JSP)作为前端展示技术,Hibernate...

    Myeclipse中Hibernate配置Oracle10g

    在Myeclipse中配置Hibernate以连接Oracle10g数据库是一项常见的开发任务,这涉及到多个步骤,包括设置数据库连接、添加驱动、配置Hibernate项目以及生成相关的配置文件。以下是对这个过程的详细说明: 首先,你需要...

    企业人事管理系统 Java Hibernate Oracle

    《企业人事管理系统 Java Hibernate Oracle》项目是一次深入的软件开发实践,主要涵盖了使用Java编程语言、Hibernate持久化框架以及Oracle数据库构建企业级人事管理系统的全过程。这个项目不仅提供了丰富的学习资源...

    oracle的hibernate配置文件

    《Oracle与Hibernate集成的配置详解》 在Java开发领域,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。当与Oracle这样的大型数据库系统结合使用时,正确的配置是确保程序正常运行的...

    struts2.0 + hibernate + oracle 分页问题

    Struts2.0、Hibernate和Oracle的整合是Java Web开发中的常见组合,它们分别负责表现层、持久层和数据存储层。在这个项目中,我们关注的是分页问题,这是一个优化用户体验,提高系统性能的重要功能。分页使得大量数据...

    hibernate 调用oracle函数

    本文将深入探讨如何在Hibernate中调用Oracle的函数,以实现高效的数据操作。 首先,我们需要理解Hibernate的核心理念,它允许开发者通过面向对象的方式来处理数据库操作,而无需编写大量的SQL语句。Hibernate通过...

    springmvc+hibernate+oracle基础框架

    《构建基于SpringMVC、Hibernate和Oracle的基础框架》 在现代企业级应用开发中,SpringMVC、Hibernate和Oracle的组合被广泛应用于构建强大的后端系统。这些技术各自扮演着关键角色,共同构成了一个高效、稳定的开发...

    hibernate连接oracle的jar包

    综上所述,连接Hibernate到Oracle数据库涉及配置Hibernate、导入Oracle JDBC驱动、设置连接字符串、管理依赖、映射实体类和数据库表,以及在代码中创建和使用Session。正确配置这些步骤后,就能方便地使用Hibernate...

    hibernate实例连oracle

    标题“hibernate实例连oracle”表明我们正在讨论如何使用Hibernate框架来连接并操作Oracle数据库。Hibernate是一个流行的Java对象关系映射(ORM)工具,它允许开发者使用面向对象的编程方式来处理数据库交互,而无需...

    hibernate query调用oracle存储过程

    本篇文章将深入探讨如何使用Hibernate的Query接口来调用Oracle的存储过程和函数,以及提供相关的示例代码和数据库文件。 首先,让我们了解什么是存储过程和函数。存储过程是预编译的SQL语句集合,可以接受参数、...

    Spring Struts Hibernate Oracle jar

    标题中的"Spring Struts Hibernate Oracle jar"涉及到四个关键的Java技术框架和数据库系统,它们是构建企业级Web应用的常用组件。以下是对这些技术的详细解释: 1. **Spring框架**:Spring是一个全面的Java应用开发...

Global site tag (gtag.js) - Google Analytics