Mark, you can have inheritance on entities. If you are using
EJB 3.0, and if you do NOT need to map the super class (i.e. Card class) directly to the database, you could annotate the Card class as a MappedSuperClass and other sub classes (i.e. CreditCard, DebitCard can be exposed as entities to the database by using the @Entity annotation. In this case the Card class is used to provide the common information for sub classes.
And if you really need to map the super class too (i.e. Card class itself), there are some mapping strategies you can use. But I think the MappedSuperClass is what you really needed here.
Devaka.