title: Most effective way to reflect inheritance relationship in DAOs?
body: <p>Working on a business application using MVC structure and a <a href="http://en.wikipedia.org/wiki/Business_object" rel="nofollow">Business Object</a> / <a href="http://en.wikipedia.org/wiki/Data_access_object" rel="nofollow">DAO</a>  architecture.  For any normal business object, the CRUD functions are fairly straightforward.  But what's the best way to handle a parent-child relationship like "Customer is a User"?</p>
  
  <p>I know that the following classes are involved:</p>
  
  <pre><code>User, UserDAO, Customer, CustomerDAO
  </code></pre>
  
  <p>The <code>Customer</code> class can inherit from the <code>User</code> just fine, but how do you best reflect this in the DAO CRUD functions?</p>