An mapped superclass is an abstract or concrete class that provides persistent entity state and mapping information for its subclasses, but which is not itself an entity. This annotation is specified on the Class docblock and has no additional attributes.
This doesn't adequately communicate how to use it. It took me several minutes of failing before I downloaded the PDF and did a search for @MappedSuperclass to find an example of how it's used.
Specifically the following were unclear:
- Is this defined on the superclass or on the children classes?
- If it's defined on the child classes, does it take parameters? The name of the super class?
- It was not at all apparent to me that it was mutually exclusive with the @Entity tag