在休眠中访问模式间表和关系

时间:2010-06-11 16:22:45

标签: java oracle hibernate schema

通常情况下,不同的表分散在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]

这里table1和table2存在于不同的模式中。

1 个答案:

答案 0 :(得分:2)

最后我得到了解决方案。它使用该表的模式注释完成,如下所示 - @实体 @Table(name =“table1”,schema =“schema1”) table2类的映射也应该包含在table1模式的配置文件中。