Your mapping is invalid because PaymentDO needs to be inserted first, and its identifier is not-insertable. If you remove insertable=false it should work.