According to JPA 2.1, section 3.2.4 (Synchronization to the Database)
"The semantics of the flush operation, applied to an entity X are as follows:
• For any entity Y referenced by a relationship from X, where the relationship to Y has not been annotated with the cascade
element value cascade=PERSIST or cascade=ALL
• If Y is new or removed, an IllegalStateException will be thrown
by the flush operation (and the transaction marked for rollback) or the transaction commit will fail."
Prior to fixing HHH-9330, EntityManager operated properly when the relationship to Y is one-to-one. After was fixed, IllegalStateException is no longer thrown when Y is new.