If the preparation must be done and committed nevertheless whether the Entity access succeeds or not I'll use a SLSB with Tx=RequiresNew for the JDBC access.
If the Entity manipulation failed after this it is a business logic decision to re-queue the message or not.