我有两个独立的数据库模式(或2用户的Oracle的行话表) - schemaA和schemaB。休眠:2点的数据源以初始化单个对象
schemaA,其它表中,具有表:
domain(id NUMBER PK, description(VARCHAR2(10))
schemaB具有表:
q_user(id NUMBER PK, username VARCHAR2(8) NOT NULL, domain_id NUMBER, CONSTRAINT foreign key references schemaA.domain(id))
Java类QUSER具有以下属性: Long id, String username, Domain domain
的问题:是否可以配置? Hibernate使用两个不同的数据源(schemaA和schemaB)初始化QUser对象?如果是这样,我该怎么做?
当然我也会使用Spring 3,休眠3.6和Oracle 10g。
我在Spring技术来定义多个数据源和动态交换他们,但我不知道这可以用来初始化一个对象。
任何帮助表示赞赏。 感谢
谢谢!这看起来不错,但为了保持问题的清洁,我将Domain to User的关系保持为1:1,但在现实生活中,我拥有多对多的关系。所以,我在中间的user_domain(user_id NUMBER,domain_id NUMBER)中有这个交集表。当我尝试添加模式(或目录)到域模型类时,我得到了 - 没有这样的表或视图错误。当我查看生成的sql时,它不会将架构应用于“... from ...域中的域”(应该是schemaA.Domain)。我想这种多对多的关系是一个不同的情况 - 你能指出我在正确的方向吗?很多谢谢 – 2012-07-20 09:54:56
@damo_inc您是使用XML还是注释?我重新检查并且在XML中也有一个模式属性。 – 2012-07-20 10:46:23
我正在使用注释。我设法通过在其他模式的表上创建同义词来解决它。幸运的是,我有完整的系统访问两个模式:)。非常感谢您的帮助。 – 2012-07-20 12:57:09