loska wrote:
The reason I ask is that if the association is mapped there will be an extra lookup everytime the Person is created or updated because you need to look up the Company and then set it in the Person. I could just leave the Company field of Person as a Long which is mapped to the CompanyId field in the Person Table.
You don't have to do the extra lookup if you are sure that a company with a certain id exists. You could use session.load() or entitymanager.getReference(). These methods return a proxy without querying the database.