У меня есть объект Y и хотел бы встроить Список Y в несколько несвязанных объектов X1, X2, ... Отношение должно быть двунаправленным. Можно ли это сделать с помощью @ ManyToOne/@ OneToMany? Я пробовалJPA: Как использовать @OneToMany с разными целевыми типами
@Entity
class X1 {
@Id
String uuid_;
@OneToMany(mappedBy="owner_")
List<Y> yList_;
}
@Entity
class X2 {
@Id
String uuid_;
@OneToMany(mappedBy="owner_")
List<Y> yList_;
}
@Entity
class Y {
@Id
String uuid_;
@ManyToOne
String owner_;
}
но это не работает, потому что String не является сущностью и не может использоваться как атрибут отношения.
Я также попытался заменить «владельца строки» на «владелец XBase», используя XBase в качестве @MappedSuperClass для X1 и X2. Это вызвало ту же ошибку: «[класс Y] использует не-сущность [класс XBase] как целевой объект в атрибуте отношения [field owner_]».
Интересно, возможно ли иметь разные несвязанные типы в «одном» конце отношения. Как бы вы реализовали такие отношения с JPA?