У меня есть 3 таблицы:
- Таблица A (идентификатор строки, строка codeType , строка idOther );
- Таблица B (идентификатор строки)
- Таблица C (строкаid)
Атрибут idOther не является внешним ключом, поскольку на него могут ссылаться таблицы, кратные таблице B или C.
Атрибут idOther равно идентификатору таблицы C , когда codeType = "C" .
Атрибут idOther равен идентификаторутаблица B когда codeType = "B" .
С помощью аннотаций Hibernate, как я могу установить связь между сущностью A и сущностью C?
@Entity("A")
public class A {
@Id
private String id;
private String codeType;
private String idOther;
}
@Entity("B")
public class B {
@Id
private String id;
/** what annotation to add for etablish a relationship with A */
private A a;
}
@Entity("C")
public class C {
@Id
private String id;
/** what annotation to add for etablish a relationship with A */
private A a;
}
Спасибо за ваш ответ.