Pls make sure you are correctly understood, Internet is truly global, help the person reading your docs understand exactly what you want to explain to him.
> How do I map my business classes that implement
> inheritance to my DAO layer?
Pls explain your DAO - what does DAO mean ?
>
> Do I create a single DAO to my class hierarchy?
what kind of technology you are about to use.(J2EE, Custom-CORBA based classes etc) ?
> Do I inherit one DAO from another one?
Do you have one already available?
> Or what?
> How do I map my business classes that implement
> inheritance to my DAO layer?
>
> Do I create a single DAO to my class hierarchy?
> Do I inherit one DAO from another one?
> Or what?
In general, you need to provide more details.
You can create a single DAO for your class hierarchy but this may have some problems. The DAO needs to know how to persist/unpersist the requisite Value object but the rules for this (as well as the datasource, e.g. table) may be different so this will create complications.
The client code may need to know which DAO to use but this becomes tricky if you are trying to hide concrete implementation from the client via inheritance. For instance, if you have an Employee interface and Manager and NonManager concrete classes, the client code may need to specify when the want each concrete class. OTOH, you can abstract this away behind a EmployeeDAO that hides the details on which type it is returning and simply returns an object of type Employee. The DAO determines which object to create when it pulls the data from the database. Similarly, when you save the Employee object, the DAO figures out which kind of object it is and saves the data appropriately.
Unfortunately, until we have an idea of what exactly you are trying to accomplish, this is all just speculation.