Basicly, the child must have the same id as the parent.
Either use the foreign id generator or manually assigned it.
See the following references to the doc.
One-to-one associations don't need an extra table column; if two rows are related by a one-to-one association then the two table rows share the same primary key value. So if you want two objects to be related by a one-to-one association, you must make sure that they are assigned the same identifier value!
foreign (id generator)
uses the identifier of another associated object. Used in conjunction with a <one-to-one> association.
And the FAQ
http://www.hibernate.org/118.html#A9