0

我有两个单独的数据库模式(或 Oracle 行话中的 2 个用户表) - schemaA 和 schemaB。

在其他表中,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、Hibernate 3.6 和 Oracle 10g。

我遇到了定义多个数据源并动态交换它们的 Spring 技术,但我不确定这是否可以用于初始化单个对象。

任何帮助表示赞赏。谢谢

4

1 回答 1

1

在您的域映射中,您还可以输入架构名称。

使用 XML:

<class name="Domain" table="domain" catalog="schemaA">

带注释:

@Table(name = "domain", schema = "schemaA")

然后,您不需要多个数据源。您设置了使用schemaB用户连接的单个数据源(因为在schemaB表中,您有权访问schemaA表 - 因此是外键)。

于 2012-07-20T06:22:54.760 回答