CMP/CMR caters for what would be possible
in the underlying persistent store.
For a DB, you cannot define a constraint on a table
BEAN_PARTNER that relates to two other tables
BEAN/BEAN_SON using one column.
Relational constraints are not polymorphic.
You can include a relation between BEAN and BEAN_SON
where BEAN_SON holds a link to a BEAN and then defines
extra columns. The relation to BEAN_PARTNER is then
stored only in the BEAN table.