Padrao de projeto para Persistencia

Pessoal,
em minha aplicação estou criando uma camada para persistencia de dados , tenho um pacote onde estao as Entidades mapeadas para persistencia.
Quero saber o seguinte: eu devo criar uma classe DAO para cada entidade que será persistida, ou tem como eu criar uma factory para executar as 4 operacoes basicas(CRUD) ?
outra duvida: tem como utilizar as Entidades como classes de dominio, ou tem que criar Value Object’s ??

valeus galera…!

Eu uso nesse padrão aqui:
Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate

Crio um DAO genérico e crio um DAO para cada entidade mas sem métodos dentro, pois irão herdar do DAO genérico.

Quando uma consulta específica é necessária, apenas adiciono ao DAO da entidade.

Eu sempre usei a entity direto sem VO.

Mas já trabalhei em lugares que tinham os dois.

[quote=Hebert Coelho]Eu uso nesse padrão aqui:
Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate

Crio um DAO genérico e crio um DAO para cada entidade mas sem métodos dentro, pois irão herdar do DAO genérico.

Quando uma consulta específica é necessária, apenas adiciono ao DAO da entidade.

Eu sempre usei a entity direto sem VO.

Mas já trabalhei em lugares que tinham os dois.[/quote]

Também faço assim.

valeus pela ajuda pessoal…!