Since you have functional data, other than just the foreign keys to the linked entities, in the contract table, then you need to map it as an entity.
You would thus have a OneToMany between Government and Contract, and another OneToMany between NonProfitOrg and Contract.
And since it's a regular entity, I strongly advise you to identify it with an autogenerated, single-column ID, just like the other entities.