Create generic DAO interfaces and abstract classes - TRUNK-3782
author:lluismf