Я бы пошел вторым путем, используя HSQLDB в качестве механизма БД.Я думаю, что вызов реальной реализации за DAO имеет положительный эффект от обнаружения ошибок отображения.
Если ваши DAO имеют больше логики, это не связано с работой в спящем режиме (представьте, если DAO загружает некоторые объекты и затем выполняетнекоторые операции над ними, чтобы вернуть другой объект), я бы создал другой тестовый класс для тестирования методов с дополнительной логикой, и насмехался над методами, которые возвращают данные.Это позволяет упростить настройку данных, а не заливать базу данных и немедленно загружать эти объекты.