2015-07-29 4 views
1

Не знаю, объяснил ли я себя в вопросе, но в основном я хочу знать, есть ли какая-то функциональность для сопоставления объекта, который не находится в прямой зависимости от цели. Например:Hibernate отображение второго уровня ненаправленного

|Table1 | |Table2 | |Table3 | 
----------- ----------- ---------- 
|id  | |id  | |id  | 
|someValue| |Table1_fk| |Table2_fk| 

и я мог бы получить доступ к объекту TABLE2 в классе отношения, как это:

public class Table1 { 
@Id 
int id; 
@Column 
String someValue; 
@OneToOne(mappedBy="Table2") 
Table2 table2; 
} 

Так что мой вопрос - могу ли я карту из Table1 в Table3?

ответ

0

Учитывая ваш вышеприведенный код, на самом деле это не похоже на то, что вам нужно «сопоставить» или даже установить связь с таблицей 3.

Вам нужны свойства из Таблицы 3, которые будут доступны только в рамках контракта API Table1? Если да, то вы можете сделать что-то вроде:

public class Table1 { 
    @Id 
    int id; 

    @Column 
    String someValue; 

    @OneToOne(mappedBy="Table2") 
    Table2 table2; 

    public Table3 getTable3() { 
     return table2.getTable3(); 
    } 
} 

Это предполагает, что связь устанавливается в Table3 и «mappedBy» в Table2, что разумное отображение, учитывая, что на самом деле Таблица3 содержит внешний ключ.

+0

Да, я это понимаю, но я думал, что могу получить доступ к Таблице 3 без прямого доступа к Table2 – Heisenberg

Смежные вопросы