Я пытаюсь реализовать наследование отношений между сущностями JPA.
Заимствование примера из: http://openjpa.apache.org/builds/1.0.2/apache-openjpa-1.0.2/docs/manual/jpa_overview_mapping_discrim.html
@Entity
@Table(name="SUB", schema="CNTRCT")
@DiscriminatorColumn(name="KIND", discriminatorType=DiscriminatorType.INTEGER)
public abstract class Subscription {
...
}
@Entity(name="Lifetime")
@DiscriminatorValue("2")
public class LifetimeSubscription
extends Subscription {
...
}
}
@Entity(name="Trial")
@DiscriminatorValue("3")
public class TrialSubscription
extends Subscription {
...
}
Мне нужно иметь дополнительную сущность, которая ловит остальное, что-то вроде:
@Entity(name="WildCard")
@DiscriminatorValue(^[23])
public class WildSubscription
extends Subscription {
...
}
Где, если он не совпадает с LifetimeSubscription или TrialSubscription, он будет соответствовать WildSubscription.Это на самом деле имеет немного больше смысла, если вы думаете о том, где wild является суперклассом, и если нет более конкретной реализации, которая подходит, используйте суперкласс.
Спасибо!