У меня есть следующая структура класса (детали опущены для ясности):
Например:
@Entity
class A{
@OneToMany
private List<B> b;
@OneToOne
private C c;
}
interface B {
}
@Entity
@Inheritance
abstract class Babstract implements B {
}
@Entity
@PrimaryKeyJoinColumn
class B1impl extends Babstract {
}
@Entity
@PrimaryKeyJoinColumn
class B2Impl extends Babstract {
}
Я хочу загрузить все B принадлежащие C.C. B и C не знают о существовании друг друга, и мне нравится так держать.Я не знаю фактический тип реализации B, и мне все равно, потому что я использую абстрактный тип данных B (интерфейс).Реализация может изменяться с течением времени, например, новая реализация B может быть добавлена в будущем в новой версии.
Возможно ли это с JPA и как мне это сделать?Я не могу использовать атрибут targetEntity, если я прав, потому что я не знаю реализующий класс и мне все равно.B полиморф.