SOCORRO! Que pattern usar para persistência de dados

11 respostas
J

Olá pessoal!

Estou fazendo pesquisas e vendo qual será a melhor alternativa para nosso novo projeto. A maior dúvida está na persistência. O que é melhor (Abstract Factory) DAO, Hibernate, CMP, BMP ? Ou tudo junto?

Agradeço qquer ajuda.

Valeu.

Julião.

11 Respostas

R

Lembrando que do que você mencionou, apenas DAO é uma Design Pattern…
Eu usaria DAO + Hibernate

M

Julio,

Em relação a design pattern o melhor é utilizar o DAO, ou seja, todo o seu acesso ao banco de dados ficar em uma classe separada.

Agora em relação ao qual framework utilizar depende muito do seu projeto.
A utilização de EJB ajuda muito se você possui muitos acessos simultâneos e precisa ter escalabilidade em seu projeto.
Já o Hibernate ou o OJB são para projetos mais simples, onde você não possui muitos acessos simultâneos, mas quer uma portabilidade de banco de dados.
As vezes é mais fácil você utilizar JDBC puro, mais rápido na construção se você não conhece nenhum framework.
Não quero te deixar confuso, mas como falei depende do porte, do tempo e de seu conhecimento para aplicar um framework ao seu projeto.

[]'s
Mel

F

Eu gosto muito do Hibernate…

Nunca tive problemas com ele, e ele possibilita mudança de DB sem grandes alterações.

R

“melissa”:
Julio,

Já o Hibernate ou o OJB são para projetos mais simples, onde você não possui muitos acessos simultâneos, mas quer uma portabilidade de banco de dados.
[]'s
Mel

O Hibernate é muito poderoso. Ele usa um framework de pool de conexões, mas isso é abstraido.
Isso o deixa bem eficiente. O overhead que ele gera parece não ser muito grande.

M

utilizando o modelo mvc o meu dao pode acessar diretamente o meu controlador? ou só a minha camada de negócios acessa o controlador?

como é que eu faço pra transferir os dados q eu obtive do meu banco atraves do dao?uso um bean?ou retorno os dados pra minha camada de negocios e ela retorna pro controlador?

Valeu

M

Dao acessando controller? Business acessando controller!? :yoq: Não não amigo! Sugiro que tu de uma revisada no seu MVC :ynerd:. Uma ótima fonte de estudo sobre esses patterns e com exemplos de como aplicá-los tu encontra na Sun, aqui:

http://java.sun.com/blueprints/corej2eepatterns/Patterns/

M

Eu tenho a minha view(jsp) o meu controller(servlet) e o meu model(BO + DAO)…
então eu tenho que através do meu controller passar os dados para o meu BO, que então acessa a minha camada de dados, certo?
se eu quiser fazer um select…como eu faço?
eu tenho que eu posso acessar diretamente do controller a minha camada de dados? ou eu tenho que fazer isso através do meu BO?

M

Pelo oque eu quotei de ti anteriormente, vc estava fazendo algo como um caminho do contrário. Tu terá o teu jsp que manda a requisição pra um controller, que por sua vez se incarrega de delegar para o componente certo a tratar aquela requisição que então coloca em algum contexto (request, session oque for melhor) oque ele recuperar do teu business, que este foi até o DAO recuperar esse resultado. Acho que foi só uma pequena confusão gerada naquilo que eu quotei. :slight_smile:

M

o que vc acha de usar um dto para transferir os objetos entre as camadas?
é besteira?
é melhor passar o próprio objeto mesmo?

Abraços

M

“markosh”:
o que vc acha de usar um dto para transferir os objetos entre as camadas?

Essas camadas além de lógicas tb são físicas? Ou seja, sua aplicação é distribuida por mais servidores de aplicação, com um comunicando com o outro? Se sim, use-o. Do contrário tu não tem motivos para usar.

M

as camadas são lógicas…
vc tem razão…é perda de tempo implementar dto no meu caso…

Criado 20 de julho de 2005
Ultima resposta 9 de ago. de 2005
Respostas 11
Participantes 6