Я создаю приложение на Java с картой Play 2 и ebean ORM.Связать объект с несколькими объектами подкласса как одно отношение к суперклассу в JPA?
У меня есть класс сущностей Person
, который связан с несколькими классов сущностей с супертипом Certificate
, который является abstract
@MappedSuperclass
. В настоящее время я создаю отношения для каждого подкласса, например, так:
public class `Person` extends Model {
// elided...
@OneToMany
public List<SubType1> subType1s;
@OneToMany
List<SubType2> subType2s;
// elided...
}
и подклассы выглядеть следующим образом:
public class SubTypeGeneric {
// elided...
@ManyToOne
public Person person;
// elided...
}
То, что я хочу знать это: можно сгруппировать по подклассов лица списки в Person
вместе в один суперкласс список, например так:
public class `Person` extends Model {
// elided...
@OneToMany
public List<SuperType> superTypes;
// elided...
}
Я заметил, что когда у меня есть отношения как с сущностью супертипа, так и с сущностью подтипа, методы для получения отношений над суперклассами возвращают только те, и отношения подкласса должны выбираться отдельно. Я не думаю, что иметь «сертификат» как сущность и дать отношения с «Лицом» позволит мне добавлять и извлекать подтипы «Сертификат». – evanjdooner
У меня нет опыта работы с EBean, но правильные реализации JPA получают все экземпляры сущностей, будь то экземпляры подклассов или нет, в такой ситуации. Таким образом, либо EBean неисправен, либо ваш код. –