2010-06-11 6 views
6

Istnieje typowa sytuacja, w obliczu której różne tabele są rozproszone przez różne schematy w bazie danych Oracle i są ze sobą powiązane (obejmując wszystkie różne typy relacji).Uzyskiwanie dostępu do tabel i relacji między schematami w hibernacji

W jaki sposób można je reprezentować w trybie hibernacji przy użyciu adnotacji, tak jak w przypadku tworzenia uchwytu sesji dla jednego schematu, tabele w tym schemacie nie mogą uzyskać dostępu do innych powiązanych tabel (stosunek klucza obcego do tabel w innym schemacie)?

przypadku zapytania jak następujące, jest wyjątek -

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

Wyjątek jest jako -

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

tutaj Tabela 1 i Tabela 2 występują w różnych schematach.

Odpowiedz

2

W końcu dostałem rozwiązanie. Odbywa się to za pomocą adnotacji schematu dla tej tabeli w następujący sposób: @Entity @Table (name = "table1", schema = "schema1") Również mapowanie klasy table2 powinno być zawarte w pliku konfiguracyjnym schematu table1.