The material I've sen on one-to-one is mostly from the book "Hibernate in Action." There are several references in Chapter 6 to using (and not using) one-to-one mappings. They treat the one-to-one mapping as if it's an exotic mapping that is best handled by using many-to-one and component mappings. I recommend reading chapter 6 yourself, but here's a few quotes:
Quote:
Using a foreign key association
The easiest way to represent the association from User to its billingAddress is to
use a <many-to-one> mapping with a unique constraint on the foreign key. This may
surprise you, since many doesn’t seem to be a good description of either end of a
one-to-one association! However, from Hibernate’s point of view, there isn’t much
difference between the two kinds of foreign key associations.
and
Quote:
One-to-one associations
We argued in chapter 3 that the relationships between User and Address (the user
has both a billingAddress and a homeAddress) were best represented using <component>
mappings. This is usually the simplest way to represent one-to-one relationships,
since the lifecycle of one class is almost always dependent on the lifecycle
of the other class, and the association is an aggregation.
Mapping entity associations 221
But what if we want a dedicated table for Address and to map both User and
Address as entities? Then, the classes have a true one-to-one association.
This is just the tip of the iceberg. Get a copy of the book and check it out. It will make you feel much better about using many-to-one associations in place of one-to-one. In fact, I rarely use one-to-one and most often favor components and many-to-one for my applications.