Cara... essa briga sobre o Lazy é uma velha discussão... já entrei de cabela nela uma vez.... Vou colocar aqui embaixo uma sequencia de e-mails q troquei esses dias com um cara q perguntava sobre a mesma coisa:
Talvez, seja melhor vc ler a sequencia de e-mails de "baixo para cima" para q a ordem cronológica da situação fique mais clarar para vc, segue abaixo: #################################################################### ---------- Forwarded message ---------- From: Mário Júnior <juninho...@gmail.com> Date: 2009/7/3 Subject: Re: Flex - Java To: Jean Marcel <mr.jeanmar...@gmail.com> A verdade é q, nenhuma implementação será realmente eficiente. Qnd o Blazeds serializa os objetos, eles já estão marcados como detached pelo hibernate. Outra coisa q ocorre, é q a serialização é por reflexão (abra o source da JavaAdapter, no método invoke) .. se a sessão no orm ficar aberta (opensession, por exemplo) o blazeds vai pegando os atributos em cascata até o fim. Só isso já quebra a idéia de lazy-load pq o carregamento não é nada "preguiçoso" nesse caso. Já desossei o BlazeDS afim disso, mas realmente não tem jeito. Já o granite não conheço muito o engine dele, mas vi q ele controla a reflexao até o ponto q encontra algum tipo de coleção. Guarda isso em algum lugar (mistério?!?) para depois puxar esses dados qnd é solicitado pelo servidor. MASSSSS... isso só tem funcionado bem mesmo se no backend vc estiver usando Seam Framework (implementação EJB da jboss), massssss não é só isso.. no lado do flex vc também tem q usar o TIDE (um framework próprio de remoting). É justamente esse o ponto q o Rebola e eu chegamos... para resolver a questão, teríamos q escrever um mini-fw de remoting para o Flex e a parte back-end no servidor alterando o source do BlazeDS no momento da serialização.... e isso fugia da nossa proposta, pq queríamos fazer algo transparente e sem código intrusivo tanto no blazeds como no flex. Usando esses dois (seam e tide) daí funciona, mas a questão é: Quem está usando seam para grandes projetos de risco? Temos prestado serviços para clientes financeiros (app de risco) e os arquitetos banem qualquer um q falar em EJB lá =D.... Enfim.. se quiser dar uma olhada, tem esse link q demonstra brevemente essa integração (seam + tide) http://java.dzone.com/articles/migrating-classical-jee-web-ap?mz=8019-adobe Leia o passo 6, vai ver q ele fala q o TIDE faz uma nova chamada para carregar a coleção... oras.. isso eu eo Eduardo já fizemos (loadCollection do meu email) .. eles só encapsularam dentro do componente (oq nós não fizemos pq não era nosso objetivo). Enfim... a conclusão q tenho é q realmente não há como ter uma solução híbrida e verdadeiramente "preguiçosa" para carregamento de dados... não é culpa do Flex.. não é culpa dos ORMs... simplesmente é a limitação da arquitetura mesmo. Bom.. um abraço, t+. 2009/7/3 Jean Marcel <mr.jeanmar...@gmail.com> > Obrigado pela resposta Mário, na verdade eu estou utilizando > o GraniteDS porem tive dificuldades com o Lazy e agora que > parece ter sido solucionado surgiram outros problemas. Porem > estou com Flex a menos de um mes, vou continuar trabalhando > nas solucoes. > Obrigado > > 2009/7/3 Mário Júnior <juninho...@gmail.com> > >> Olá Jean. >> >> O projeto parou, não damos mais continuidade. >> Eu até fiz um post comentando, mas tive problemas com o host e na hora de >> migrar os dados o backup da base do wordpress (engine do blog) não estava >> atualizado... mas como já tinha respondido a váriasssssss questões sobre >> isso na lista, achei q nem precisaria eu escrever novamente. >> >> >> Vou colar aqui o link da resposta q dei nas listas (flexdev e flex-brasil) >> sobre esse assunto, em julho de 2008. >> >> http://groups.google.com/group/flexdev/browse_thread/thread/b33d16d7eda4effb/ccc5d89d60fc6f10?lnk=gst&q=npHibernate#ccc5d89d60fc6f10 >> >> >> Só algumas correções/atualizações: >> - Onde eu digo "ndHibernate", queria me referir na verdade ao dpHibernate >> (da digital primates) >> - Hoje o GraniteDS já não tem o problema de carregar coleções de objetos >> em outras coleções. >> - Outro fw que se propoe a "resolver" isso é o Spice-Factory. >> - Não tem jeito, até agora implementação "menos feia" que eu vi foi usando >> o HibernateAdapter do LiveCycle, mas é pago.. .e tb, é um pouco intrusiva >> caso seu backend já esteja pronto. >> >> - De boa, estou trabalhando em projetos de empresas grandes na europa e a >> solução mais "clean" é o uso de VOs/DTOs/wahtever. >> >> >> Um abraço. >> >> (pow.. legal ver q tem mais gente de mga usando flex.. qnd saí daí não >> tinha ninguem usando firme, só a empresa onde trabalhei. Vai firme cara.., >> =D) >> >> >> >> >> >> >> >> >> >> 2009/7/3 Jean Marcel <mr.jeanmar...@gmail.com> >> >>> Ola Mario, estava pesquisando pelo google algumas solucoes FLEX >>> e encontrei um post seu dizendo sobre algum Framework da Insula >>> para BlazeDS, devo usar isso para resolver o problema de Lazy? >>> Como era um post de 2008, hoje posso encontrar algo melhorado? >>> Tambem sou de maringa. Ja trabalhei com o Eduardo e o Anderson >>> que hoje estao na insula hehehehe. Obrigado >>> >> >> >> >> -- >> Mário Júnior >> Programador Java / Adobe Flex >> http://blog.mariojunior.com >> > ########################################### The End (e nesse caso, não viveram felizes para sempre) Qualquer dúvida, estamos ae. -- Mario Junior Enterprise Java / Flex Architectures Adobe Certified Expert Flex 3 with AIR Sofshore Informática http://www.sofshore.com.br +55 (48) 3337 2003 Rua Pastor Willian Richard Schisler Filho 452 sl 102, 88034-100 Itacorubi Florianopolis SC Brasil --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---