I did forget one thing!
I am also in some cases reaching the CMP bean throw a relation from another bean. The code looks like this.
All attributes in otherBean is loaded.
The PK is always 'eager-loaded' - it's the identity used to select the record.
If you just want the PK then you can use getPrimaryKey() on the interface itself and avoid loading the bean at all.