我有兩個獨立的數據庫模式(或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