Developers tend to use object-oriented programming languages like Java, to develop business objects and components. Eventually, these objects need to be stored in a database, then a problem arises when the user tries to store objects in a relational database because object codes in object-oriented programming languages are often different than codes used in a relational database.
You have to modify object codes after generating an OOM into a PDM to be compliant with the DBMS.
You can define persistent codes to bypass this impedance-mismatch.
You can also create object to relational mappings between OOM and PDM objects to further define the links between objects from different models (see Core Features Guide > Linking and Synchronizing Models > Object Mappings).