You must be right with embedded, didn't thought of it. I'll try my PR against various scenarios later. I just need to understand better how it works.

> According to the ODM's reference documentation, these are used for bi-directional references. Is criteria only relevant for bi-directional references?

If I remember correctly even for one-sided reference, mappedBy is implicit, isn't it ?