title: DAO class methods naming
body: <p>I am building a small Java web application using Spring MVC, Hibernate and I am confused about the DAO classes methods naming.</p>
  
  <p>For example I have an InvoiceDAO.java class which I thought should contain the following methods:</p>
  
  <pre><code>Save(Invoice newInvoice);
  Void(Invoice oldInvoice);
  getInvoiceByID(Long invoideID);
  </code></pre>
  
  <p>but my boss says that best practices says that I should have methods names in DAO classes as follows:</p>
  
  <pre><code>add(Invoice newInvoice);
  update(Invoice oldInvoice);
  </code></pre>
  
  <p>which makes no sense for me as I am not sure how I can name voiding an invoice as Update?!!</p>
  
  <p>So can someone please guide me in this and tell me if I am wrong on my methods naming? In other words is it correct that I should only use add, update for naming or can I use any naming and still be considered as best practices.</p>
  
  <p>thanks</p>