`
eyejava
  • 浏览: 1268259 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SchemaUpdate 如何让它正确找schema?

阅读更多
DB:oracle 9i
在同一个数据库实例里面有两个用户:CS 和TEST ,为了测试两个用户下面建了很多同名的表,比如cs.card和test.card表。
我用test用户连接db调用SchemaUpdate 发现竟然去找的cs下面的表,然后更新表结构就更是不知道更新到哪个schema去了。后面发现可以设置hibernate.default_schema=test,但是去匹配的表还是 cs下面的表,而去更新的确实test下面的表,真晕。
ant结果如下:
引用

[schemaupdate] 信息: table found: CS.CARD
[schemaupdate] 2007-3-30 13:32:12 org.hibernate.tool.hbm2ddl.TableMetadata <init>
[schemaupdate] 信息: columns: [times_y, distrustful_times, card_limit, owe_amount, id, card_number, monthly_pay, id_type, customer_id, correct_percent_hy, limit_use_pecent_y, last_adjust_date, record_date, amount_y, daily_balance_y, open_date, card_class, distrustful_amount, owe_times, correct_amount_y, correct_percent_y, times_hy, customr_limit, amount_hy, correct_amount_hy, limit_use_pecent_hy, state, daily_balance_hy]
...
[schemaupdate] alter table TEST.CARD add ACCOUNT_LIMIT double precision default 0 not null

事实上TEST.CARD 表里面ACCOUNT_LIMIT 已经存在,CS.CARD里面确实还没有ACCOUNT_LIMIT

问题参考:http://forum.hibernate.org/viewtopic.php?t=972447&sid=a5e67497d46c525eaf1e766f64062fbb
引用


I'm trying to create a schema upgrade script via HBM2DDL and I'm running into an anomaly. When the tool looks up a table in the Oracle catalog, it doesn't specify the "owner" or "schema" name (the user id that I specified in the JDBC connection parms). It finds the first table with a matching name and creates SQL Alter Table stmts accordingly. Unfortunately, the table names as specified in my HBM files occur many times within my Oracle instance, under many different User IDs. Sometimes it finds the correct table but most times it encounters the wrong table.

Is there a parameter I can specify that would limit the tool to finding only tables owned by a specific User ?

I'm using the tool from within an ANT target on Widows XP.

分享到:
评论
2 楼 xmx111 2007-04-02  
是不是xml的schema写错了?
1 楼 MarkDong 2007-03-30  
用户的权限给得太大了

相关推荐

    Hibernate+中文文档

    目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class ...20.4. SchemaUpdate命令行选项 20.5. SchemaValidator命令行参数

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 ------------------------------------------------------------------------...20.4. SchemaUpdate命令行选项 20.5. SchemaValidator命令行参数

    HibernateAPI中文版.chm

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 ------------------------------------------------------------------------...20.4. SchemaUpdate命令行选项 20.5. SchemaValidator命令行参数

    hibernate3.2中文文档(chm格式)

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 ------------------------------------------------------------------------...20.4. SchemaUpdate命令行选项 20.5. SchemaValidator命令行参数

    hishop升级包

    通过理解升级包的组成部分,遵循正确的升级流程,用户可以充分利用新版本带来的优势,提升电商运营效率。在享受新技术带来的便利的同时,也应注意数据安全和操作规范,确保每一次升级都是向着更好的方向迈进。

    易分销.2.0to2.0.1.Upgrade.易分销2.0升级包

    这个升级包的主要目的是为了让现有用户能够顺利地将他们的易分销系统升级到最新版本,以获取新版本中的功能改进和性能优化。 易分销系统是一款专门用于商品分销和管理的软件,它可能包含了订单处理、库存管理、分销...

    hibernate链接oracle

    接下来,创建了一个`LocalSessionFactoryBean`类型的`mySessionFactory` bean,用于初始化SessionFactory对象,它是Hibernate的核心组件之一,负责管理Session对象。 - `mappingResources`: 映射资源列表,指定了...

    hibernate-extensions和Middlegen-Hibernate

    其中,最具吸引力的是它的`SchemaExport`和`SchemaUpdate`工具,这两个工具能够根据配置的实体类自动生成数据库的DDL脚本,或者直接在现有的数据库上更新表结构。此外,hibernate-extensions还支持动态代理,允许...

    hibernate入门

    Hibernate提供了诸如SchemaExport、SchemaUpdate等工具,用于根据实体类自动生成数据库表结构,或者同步数据库结构,简化了数据库的维护工作。 10. **最佳实践** 使用Hibernate时,应注意不要滥用Session,避免...

Global site tag (gtag.js) - Google Analytics