【发布时间】:2011-12-23 03:50:48
【问题描述】:
我正在尝试实现 JPA 实体之间的继承关系。
@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。 实际上,如果你认为它是超类的地方,它实际上更有意义,如果没有更具体的实现,请使用超类。
有谁知道这样做的方法吗?
谢谢!
【问题讨论】:
-
另一个例子是stackoverflow.com/q/2713025/187817 只定义了一个包罗万象的动作
标签: java inheritance jpa openjpa