Container Managed Relationships (CMR) are a recent addition to Java 2 Enterprise Edition (j2EE).
Each application server vendor is free to implement proprietary aspects of CMR as they see fit.
Currently this means that there are different rules governing how you can implement CMRs in different
application servers. For example:
- Some servers allow you to map the same column in an EJB's underlying database table to both a container
managed persistence (CMP) field and a CMR field (dual CMP/CMR). Others do not. JCodeBox allows you to specific whether or not to
remove CMR fields from the CMP field list in the Enterprise Server setup dialog.
- Some servers that allow you to implement dual CMP/CMR fields do not allow you to update the dual CMP/CMR fields via CMP
- Some servers do not allow you to map the same column in an EJB's underlying database table
to a CMR field and a primary key field for that EJB.
- Some servers allow you to use primitive types for dual CMR/CMP fields whereas others do not (you need to use
primitive wrapper classes i.e. java.lang.Integer). JCodeBox allows you to specific whether or not to use primitive
wrapper classes for dual CMR/CMP fields in the Enterprise Server setup dialog.
For specific details on CMR for your application server please consult your vendor's documentation.