Check in refactoring the abstract type dao to support java logging