I do not think that the common base class JPA has such widespread use.
Assuming you are not modeling a common key / value interface, then why not encode the specific semantics into the column names of the lookup table, for example. role_name, status_code, etc.
Not sure if you are also using DB ENUM. MySQL ENUM . I assume this for the next paragraph (it is specific to MySQL). Other DBMSs, such as PostgreSQL, have redundant ENUM elements, so the following may not apply to your situation:
MySQL ENUM cannot be applied in any situation. You should use MySQL ENUM if the search values ββare unique and basically only refer to one table / entity. My policy is to add a separate lookup table if the values ββget a link from more than one other table, or if the lookup table needs more than one attribute. Note that using the same ENUM definition in a DB adds redundancy. Using MySQL ENUM saves table, join, and some relationships. Remember that DB ENUM values ββshould be as static as possible. If they need to change, use the lookup table again.
This is not an easy topic, and I had to share my opinion on this topic, although this includes the features of MySQL.
source share