Arquitetura de persistencia utilizando Hibernate  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
osmio
Java Ninja

Membro desde: 22/08/2006 20:27:54
Mensagens: 252
Offline

Boa tarde!

Estou com algumas duvidas relacionadas a arquitetura de persistência utilizando o hibernate. Me deem uma forcinha!!!

Supondo que eu possua o cenario:

Meu cadastro de usuarios esta em um pacote;
Meu cadastro de produtos esta em outro pacote;
Minha camada de persistencia esta em ainda outro;

* Onde digo pacote, leia-se .jar, biblioteca, módulo

Na minnha estrutura do pacote de Usuarios, eu tenho os DAO´s que estendem uma interface(CRUD) generico que esta dentro do pacote de persistencia.
Porem, nenhuma implementacao relacionada a persistencia em si esta dentro do pacote de usuarios.
A mesma coisa acontece dentro do pacote de produtos, DAO´s que implementam a mesma interface, mas sem nenhuma implementacao.

A minha duvida eh a seguinte:
Como monto uma camada de persistencia autonoma que lide apenas com a interface dos DAO´s de qualquer que seja o módulo solicitando a persistencia?

Bom, ate o momento, a chamada aos metodos do DAO, estao funcionando, porem, eu nao tenho nenhum controle sobre a transacao dentro do pacote Usuario, por exemplo. Mesmo sabendo que o controle da transacao nao seria incumbencia do pacote de usuarios, eu necessito do controle nesse ponto pois:
Existem sistuações onde eu teria que incluir muitos usuarios de uma vez, (processo batch) e do jeito q esta atualmente, o commit eh realizado registro a registro, o que impacta profundamente na performance da camada de persistencia.

Gostaria de alguma sugestao nesse respeito.
Estou colocando abaixo algumas classes de controle da camada de persistencia.

A proposito, todos os modulos serao utilizados dentro ou fora de um container (ou seja, podem rodar na WEB ou em um desktop). Vi comentarios sugerindo a utilizacao de spring para controlar as transacoes, porem, nao sei se funciona adequadamente em ambientes fora de um appserver. Me deem opinioes sobre isso tb, por favor.

Seguem as classes:

GenericDAO


DAOFactory


HibernateDAOFactory


GenericHibernateDAO


Resumidamente, é isso!
Aguardo sugestões.

Desde já agradeço.

"O pensamento lógico pode levar você de A a B, mas a imaginação te leva a qualquer parte do universo."
- Einstein, Albert
[Email]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team