This is a good question! Let me try to add some words to what Rafael has said.
The phrase in the Pro JPA book "except that only one instance of the source entity can refer to the same target entity instance." implies that there is a unique constraint on the foreign key column. If you read a little bit further in the Pro JPA book (page 439):
Unique Constraints A unique constraint can be created on a generated column or join column by using the unique element in the @Column, @JoinColumn, @MapKeyColumn, or @MapKeyJoinColumn annotations. There are not actually very many cases where this will be necessary because most vendors will generate a unique constraint when it is appropriate, such as on the join column of one-to-one relationships.
This is weird: most vendors, but not all.... Let's look at the JPA specifications if their should be an unique constraint or not.
22.214.171.124 Unidirectional OneToOne Relationships The following mapping defaults apply:
Entity A is mapped to a table named A.
Entity B is mapped to a table named B.
Table A contains a foreign key to table B. The foreign key column name is formed as the concatenation of the following: the name of the relationship property or field of entity A; "_"; the
name of the primary key column in table B. The foreign key column has the same type as the primary key of table B and there is a unique key constraint on it.
According to the JPA specs their should be a unique constraint. This means that the JPA implementation that you have used in your example does not conform to the JPA specs.