| Annotation | Purpose |
|---|---|
| @Inheritance | Specifies type of inheritance strategy used |
| @DiscriminatorColumn | Specifies a column in database which will be used to identify different entities based on certain ID assigned to each entity |
| @MappedSuperClass | mapped super classes are not persistent and only used to hold state for its subclasses. Generally abstract java classes are marked with @MapperSuperClass |