add test case for generic-dao, fix generic-dao interface