SOCORRO! Que pattern usar para persistência de dados

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.

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

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

Eu gosto muito do Hibernate…

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

[quote=“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[/quote]

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.

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

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/

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?

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:

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

[quote=“markosh”]o que vc acha de usar um dto para transferir os objetos entre as camadas?
[/quote]

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.

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