2010-06-11 81 views
6

當Oracle數據庫中不同的模式分散不同的表並且它們彼此相關(包含所有不同類型的關係)時,會遇到一種典型情況。在休眠模式下訪問模式間表和關係

它們如何在Hibernate中使用註釋來表示,如爲一個模式創建sessionfactory句柄時,該模式中的表不能訪問其他相關表(與其他模式中的表的外鍵關係)?

對於像下面的查詢,異常被拋出 -

"from table1 as model where model.table2Name.table2column = "+foo 

例外當屬 -

org.hibernate.QueryException: 
    could not resolve property: 
    table2column of: 
    com.test.table1 
    [from com.test.table1 as model where model.table2Name.table2column = 1] 

這裏Table 1和Table存在於不同的模式。

回答

2

最後我得到了解決方案。它使用該表的模式註釋完成,如下所示 - @Entity @Table(name =「table1」,schema =「schema1」) 另外,table2類的映射應該包含在table1模式的配置文件中。