title: Should a repository delete/remove an entity by passing in an id or or the entity itself
body: <p>I am currently creating a repository and was wondering what the "best practice" is for the delete operation of an entity. In the options below make and model make up the key for the Car entity.</p>
  
  <p><strong>Option 1:</strong></p>
  
  <pre><code>deleteCar(Car car)
  </code></pre>
  
  <p><strong>Option 2:</strong></p>
  
  <pre><code>deleteCar(String make, String model)
  </code></pre>
  
  <p><strong>Option 3:</strong> </p>
  
  <pre><code>deleteCar(CarKey carKey)
  </code></pre>
  
  <p>At first I thought Option 1, but in practice Option 2 seems more appealing (I don't want to have to get an object when I only have the id just so that I can pass it into the delete method). I put option 3 because I have seen stuff like that but that doesn't seem right to me because CarKey isn't really a domain object. </p>
  
  <p>Thoughts?</p>