Gail: I know what obvious error you mean: you think the owner (owning part) of the bidirectional relationship should be nulled. In order to make the bug clear, I will quote from the specification (JPA 2.0 spec, Chapter 11.1.36, page 400):
If orphanRemoval is true and an entity that is the target of the relationship is removed from the relationship (either by removal from the collection or by setting the relationship to null), the remove operation will be applied to the entity being orphaned. If the entity being orphaned is a detached, new, or removed entity, the semantics of orphanRemoval do not apply.
So if one would simply set the relationship to null, that should definitely work and it (pretty sure) does. The second condition when that should work is "by removal from the collection", which does not work (as described in my test case). To me (with my poor English) it is obvious that any of conditions suffices for that to work.
|