removi outro design flaw que a infusion apontou sobre o projeto: cyclic
dependencies. Ela acontecia porque todos os DAOs usavam uma classe
Message que ficava em um pacote diferente dos DAOs.

Simplesmente passei a classe Message para o mesmo pacote que os DAOs e o
problema foi resolvido