The id is not assigned to that instance because that is a detached
instance. In TopLink the instance passed into the merge was previously
treated as the original and placed in the shared cache but because of an
behavioural expectation shift, spawned by JPA, on detached objects this
object is no longer treated as the shared cache instance and is therefore
not updated post commit.
--Gordon