dorel wrote:
I have a bidirectional one-to-one A-B relationship through property-ref (FK, I cannot model it through shared PK way (or can I ?) because A can have a B or not, they can live and have a meaning separately).
You can have a PK-to-PK zero-or-one-to-zero-or-one bidirectional mapping by specifying it as many-to-one unique="true" in both directions.
The reason your cache (and most significantly, your session cache: the 2nd level cache is less important for this sort of thing) isn't getting hit is probably down to using a foreign key at one end. I'm not sure, but switching to many-to-one on PKs should improve cache hits.