You could think of DAO Fusion as a solid foundation for your own DAO layers, doing most of the usual heavy lifting for you and providing support for common DAO-related tasks and patterns, such as:
Model your business domain using a standard persistent entity model with out-of-the-box default persistent entity implementations.
Build your DAO layer by extending standard persistent entity DAO interfaces / abstract implementations which already provide most of the usual DAO functionality.
Construct persistent entity criteria with advanced filtering, sorting and paging capabilities and pass them to DAO methods to query for desired results.
Use the criteria transfer object (CTO) pattern to construct client-side versions of persistent entity criteria instances and pass them through the chosen communication mechanism to the remote server-side component, employing a CTO converter for seamless CTO-to-criteria transformation.
Add temporal aspects to your business domain, tracking persistent entities in two distinct timelines denoting the validity of facts and your knowledge of such facts throughout the time.
Integration tests interact with the chosen database instance and make sure that all standard DAO implementations are properly and thoroughly tested using a non-trivial sample domain model. Note that DAO Fusion is integration-tested against many popular databases, including MySQL, PostgreSQL, DB2, Oracle 10g and MS SQL Server 2000.