title: Should I create Entity with "natural ID" or should I always use Long as ID in each entity
body: <p>During my career I saw two different designs, how to model business objects in DB:</p>
  
  <ol>
  <li>Always use Long as ID for entity</li>
  <li>Choose the most suitable as possible.</li>
  </ol>
  
  <p>And now, we have "Resource" entity which we can download from another service. Each resource contains natural <code>ID</code> - email(email is just an example, we can imagine other situation when we should use <code>String</code>). And I want to use it as primary ID in database. But my workmates want to create additional property - <code>Long</code> id. I am not sure, why should I create this additional property. Of course, DB model is simpler because all entities have the same structure, but I prefer to use <code>String</code> id.</p>
  
  <p>What do you think, guys, which model is much better and why?</p>