IDAO, DAO, IXDAO, XDAO tem necessidade?

vou passar a estrutura da aplicação que estou desenvolvendo, me corrijam se eu estiver errado…

entidade
      X.java
persistencia
      dao
            DAO.java
            DAOFabrica.java
            XDAO.java
      HibernateUtil.java
      IDAO.java
      IXDAOs.java

criei a IDAO com os métodos excluir, persistir, listarTodos e procurar, daí implementei em DAO…DAOFabrica me retorna as implementações das interfaces…dpois para cada entidade eu defino as interfaces IXDAO onde X é cada entidade (Ex. IProdutoDAO, ICategoriaDAO) e por fim implemento em XDAO somente os métodos específícos se definidos na IXDAO.

utilizo Hibernate e Struts 2…ai não esta representado ainda as classes do struts, mas até ai como estou indo? está correto?

abraços

Aparentemente a estrutura está boa.

Dá uma olhada em generic dao, o código fica mais limpo e o reuso é muito bom.

Ao invés de utilizar DAOFactory, porque não utilizar injeção de dependências?
Veja o que o Spring Framework pode fazer por você…

De quebra, você ainda leva um ótimo suporte ao Hibernate.