----- Original Message ----- From: "Maykel Tres" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Subject: Re: [enterprise-list] ORDER BY no Entity
> Ola Michael, > > Na resposta abaixo voc� tocou num ponto que estou extremamente preocupado. A > utiliza��o de DAO para acesso a dados visto que eu utilizo CMP para a > persist�ncia dos meus objetos. > Eu estou preocupado porque tenho que tomar a decis�o de utilizar ou n�o EJB > QL. > Gostaria de saber a sua opini�o a respeito do assunto. Bem, esta decisao vai depender muito do escopo do seu projeto e de questoes de portabilidade. Acredito que, no seu caso, existam duas sugestoes plausiveis: - Utilizar BMP com o uso de algum framework/ferramenta de mapeamento O/R (OJB [http://jakarta.apache.org/ojb/index.html], JDO, TopLink etc.) - Combinar o uso de CMP com DAOs para situacoes onde EJB-QL nao for suficiente. > Achei a id�ia de utilizar DAO muito boa, mas surge uma d�vida cruel. Eu devo > fazer consultas bem elaboradas(grandes) ou utilizo de v�rias pesquisas > menores e junto todos os objetos em um session bean para organizar e > classificar? Voce tem que comparar suas opcoes na pratica para obter uma resposta a sua pergunta: - O uso de queries grandes, com joins, nested queries etc. pode realmente oferecer melhor performance _se elas forem bem escritas_. Contudo, a facilidade de manutencao vai para o espaco e fica mais dificil escrever codigo SQL portavel... - Fazer a logica do join nos sessions beans pode parecer mais elegante, portavel e de melhor manutencao, mas pode ser _bem mais lento_ e se tornar bastante ilegivel se voce nao tiver cuidado. Recomendo que voce faca um proof-of-concept; escreva codigo para somente um ou dois use-cases da sua aplicacao usando as duas estrategias, faca testes de performance, avalie a legibilidade, facilidade de desenvolvimento, portabilidade e outros aspectos que considera importantes e faca sua opcao. > Essa pergunta serve no caso de EJB QL. E tamb�m tem a quest�o da troca de > banco de dados. Em EJB QL eu n�o tenho essa preocupa��o. Voce pode encapsular a criacao dos seus DAOs usando Abstract Factory e acessando-os pela interface (ou classe abstrata, dependendo do seu caso), trocando as classes de implementacao sem quebrar o resto do seu codigo fonte visto que o processo de instanciar os objetos ficarah encapsulado. De uma pesquisada na Internet sobre isso, talvez buscando por DAOFactory. > Agrade�o a colabora��o. De nada, soh peco que voce mande as questoes para a enterprise-list direto, nao respondo as questoes individualmente (ae soh cobrando por hora ;-)) []s Michael Nascimento Santos Sun Certified Programmer for the Java 2 Platform Sun Certified Programmer for the Java 2 Platform 1.4 Moderador SouJava - www.soujava.org.br --------------------------------------------------------------------- Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED] Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
