2010-06-11 83 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模式的配置文件中。