Интерфейс между двумя связанными объектами JPA - PullRequest
0 голосов
/ 09 марта 2012

Это расширение следующего вопроса

Интерфейс между двумя связанными сущностями JPA

У меня точно такой же сценарий, но с еще одним дополнением.

Чтобы поместить это в тот же пример, который указан в #OpenSource, таблицы Fax и Email уже расширяются от «Source» до InheritanceType как «Joined», что является другим базовым классом для многих других классов.Теперь, как и в вашем примере, вы сделали так, чтобы факс и электронная почта расширялись от канала, который указан с InheritanceType как TABLE_PER_CLASS.

Я не думаю, что смогу реализовать тот же подход (указав TABLE_PER_CLASS) и в моем случае,Пожалуйста, помогите мне выйти из этой ситуации.

1 Ответ

0 голосов
/ 13 марта 2012

это использует сопоставление ManyToAny вместо ManyToOne или OneToOne

@Entity
public class Delivery {
    @Id
    @GeneratedValue
    private Long id;

    @Any(metaColumn = @Column(name = "type"))
    @AnyMetaDef(idType = "long", metaType = "string", 
            metaValues = { 
             @MetaValue(targetEntity = Fax.class, value = "fax"),
             @MetaValue(targetEntity = Email.class, value = "email"),
       })
    @JoinColumn(name="channelId")
    private Channel channel;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...