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.
分享到:
相关推荐
目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class ...20.4. SchemaUpdate命令行选项 20.5. SchemaValidator命令行参数
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 ------------------------------------------------------------------------...20.4. SchemaUpdate命令行选项 20.5. SchemaValidator命令行参数
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 ------------------------------------------------------------------------...20.4. SchemaUpdate命令行选项 20.5. SchemaValidator命令行参数
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 ------------------------------------------------------------------------...20.4. SchemaUpdate命令行选项 20.5. SchemaValidator命令行参数
通过理解升级包的组成部分,遵循正确的升级流程,用户可以充分利用新版本带来的优势,提升电商运营效率。在享受新技术带来的便利的同时,也应注意数据安全和操作规范,确保每一次升级都是向着更好的方向迈进。
这个升级包的主要目的是为了让现有用户能够顺利地将他们的易分销系统升级到最新版本,以获取新版本中的功能改进和性能优化。 易分销系统是一款专门用于商品分销和管理的软件,它可能包含了订单处理、库存管理、分销...
接下来,创建了一个`LocalSessionFactoryBean`类型的`mySessionFactory` bean,用于初始化SessionFactory对象,它是Hibernate的核心组件之一,负责管理Session对象。 - `mappingResources`: 映射资源列表,指定了...
其中,最具吸引力的是它的`SchemaExport`和`SchemaUpdate`工具,这两个工具能够根据配置的实体类自动生成数据库的DDL脚本,或者直接在现有的数据库上更新表结构。此外,hibernate-extensions还支持动态代理,允许...
Hibernate提供了诸如SchemaExport、SchemaUpdate等工具,用于根据实体类自动生成数据库表结构,或者同步数据库结构,简化了数据库的维护工作。 10. **最佳实践** 使用Hibernate时,应注意不要滥用Session,避免...