Criei um protótipo simulando esse exemplo do CPF e Pessoa e
funcionou :S
O Flex recebe tudo certinho, assim como também manda tudo certinho...

Como fica em classe separada a declaração do alias fica igual.

Devo ter cometido algum equivoco no exemplo que testei, e como não
havia feito nenhum teste com persistência utilizando essa técnica
achei que pudesse ser um problema do Flex.

Agradeço pela ajuda pessoal.

On 14 set, 13:47, Mário Júnior <[email protected]> wrote:
> Ha bom, se os arquivos estão separados, entao de fato nao precisa do cifrao
> ($) lá no remoteClass .. dai é só apontar o alias diretamente.
>
> Achei q vc estivesse usando inner class mesmo, como no exemplo q mostri com
> chaves compostas.
>
> Mas o feddback entao deu oq? Continua chegando null ???
>
> []s
>
> Em 13 de setembro de 2010 22:28, RafaelViana <[email protected]> escreveu:
>
>
>
>
>
> > Opa... Valeu isso vai ajudar bastante com certeza. Não vou conseguir
> > dar um feedback hoje, porque tenho que terminar um trabalho pra
> > faculdade. Mas amanhã vou tentar fazer esses testes com certeza.
>
> > @Mario só fiquei em dúvida com duas coisas.
>
> > Por exemplo, você usa uma classe estática dentro da entidade. Então,
> > essa classe só é usada dentro dessa entidade. Eu crio as classes em
> > arquivos separados, portanto poderia aproveitar um @Embeddable em
> > outras entidades. Nesse caso, como ficaria o mapeamento da entidade no
> > Flex? Ou seja, um @Embeddable (inner class) sendo utilizado em mais de
> > uma classe. (ou isso já é pedir demais para o ActionScript? rsrs)
>
> > E como você usou uma classe estática: TesteCompositeId$PK, algo como
> > PK que está dentro de TesteCompositeId.
> > E se a classe está em arquivo separada, essa anotação é a mesma?
> > (porque se o PK estivesse em um arquivo separado esse não seria o
> > caminho correto até ele).
>
> > Isso já resolve a GRANDE MAIORIA das situações, portanto se for
> > necessário uso classes estáticas no Java :D pelo menos já deu uma
> > grande luz para resolver o problema.
>
> > On 13 set, 20:52, Mário Júnior <[email protected]> wrote:
> > > Opa... olha só... tive a idéia de pesquisar no Cache do Google, mas pelo
> > > jeito os robots do google já re-indexaram o meu blog, e daí perdi o cache
> > do
> > > Blog antigo....
>
> > > mas....
>
> > > Alguem manteve o meu artigo como "histórico" (q legal) e acabei achando o
> > > link do artigo original aqui:
> >http://webcache.googleusercontent.com/search?q=cache:l37roYngft8J:www...
>
> > > Espero q consigam ver.
>
> > > []s
>
> > > Em 13 de setembro de 2010 20:51, Mário Júnior <[email protected]
> > >escreveu:
>
> > > > Acho q isso está relacionado as Internal Classes (classes dento de
> > outra
> > > > classe).
> > > > Eu tinha um post sobre isso no meu antigo blog, mas q se perdeu qnd
> > mudei
> > > > de server .. agora pensa na preguiça q dá escrever isso tudo dnovo...
> > heheh
> > > > =P
>
> > > > Primeiro pensamento que temos q ter em mente: *AS3 não permite uso de
> > > > internal class*.
> > > > Opa opa.. não joguem pedras... tá bom... dá pra simular isso mas daí a
> > > > classe 'filha' (a 'interna'no caso) tem q ficar fora do escopo do
> > package e
> > > > acaba ficando acessível apenas para objetos internos da classe 'mae',
> > um
> > > > clássico exemplo disso é o SingletonEnforcer muito comum em exemplos de
> > como
> > > > implementar o pattern Singleton em AS3. Mas, convenhamos que isso não é
> > a
> > > > mesma coisa q dá pra fazer em java.
>
> > > > Sendo assim, se a @Embeddable for uma classe "interna" de outra classe,
> > vc
> > > > terá q mapear ela de forma diferente no AS3, seguindo os passos abaixo:
>
> > > > - Como em AS3 nao permite classes internas, logo em AS3 vc tem q ter
> > DUAS
> > > > classes (arquivos .as) separados.
> > > > - Na classes "Embeddable" vc precisa mapear usando metadata
> > > > [RemoteClass(alias="classe.Mae$Filha")]
> > > > - Na classe "Mae" (a q contém o atributo "embutido") basta declarar o
> > > > atributo com tipo correto, naturalmente.
>
> > > > PS: Ressalto q os termos "mae" e "filha" nesse caso nao tem nada a
> > haver
> > > > com herança, é q não consegui pensar em outro nome para representar
> > isso,
> > > > mas a "Mae" seria a classe "principal" e "Filha" uma classe "interna",
> > > > capicci?
>
> > > > *Perceberam o $ (cifrão) ali no nome no meio do [RemoteClass]?*
> > > > Isso é pq o javac ao compilar uma classe "interna", irá gerar um
> > arquivo
> > > > .class com o nomeDaClassePrincipal*$*NomeDaClasseFilha. Para terem
> > certeza
> > > > disso, vcs podem conferir na pasta /bin dos seus projetos (ou em
> > > > Web-INF/classes no caso de projetos web).
>
> > > > Entao, agora vem a pegadinha do malandro: como o BlazeDS sabe que um
> > tipo
> > > > específico de classe é uma classe interna?
> > > > A resposta é simples: Qnd vc manda um objeto para o servidor, ele vai
> > como
> > > > um RemotingMessage onde contém várias informações importantes para o
> > > > BlazeDS, e uma delas é o metadataInformation (ou coisa assim, nao
> > lembro de
> > > > cabeça agora) mas é um atributo que contem a string "alias" declarado
> > no
> > > > metadata [RemoteClass]. Quando o BlazeDS recebe um
> > > > "pacote.classes.Mae$Filha" ele irá conseguir (via
> > Reflection/ClassLoader)
> > > > instanciar um objeto do tipo declarado, mesmo sendo uma classe
> > "interna'. A
> > > > *única* obrigatoriedade requerida pelo BlazeDS é q a classe interna
> > > > precisa ser *public*.
>
> > > > Enfim... no meu artigo eu falava sobre serialização de "Chaves
> > Compostas
> > > > (PK) com JPA/Hibernate usando Flex"... seria bom ressuscitar esse
> > artigo, já
> > > > até tinha me rendido um emprego na época :)
>
> > > > Enfim.. acho q vai ser isso.. dá um feedback pra gente @RafaelViana.
>
> > > > []s
>
> > > > Em 13 de setembro de 2010 20:13, Rodrigo da Rosa Elesbão <
> > > > [email protected]> escreveu:
>
> > > > E voce repetiu isso no flex? Ou seja. Criou as classes representando os
> > > >> tipos no flex para os vos? faz assim pra ficar mais facil de te
> > ajudar. Joga
> > > >> o objeto que retorna pro flex pra gente dar uma olhada.
>
> > > >> Em 13/09/2010 19:27, "Fredy Gadotti" <[email protected]>escreveu:
>
> > > >> Puts, bem legal isso ai =]
> > > >> Não conhecia.
>
> > > >> Bom, não posso te ajudar, ai vai ter que perguntar para alguém que
> > manje
> > > >> de JPA mesmo e trabalhe com Flex!
>
> > > >> 2010/9/13 RafaelViana <[email protected]>
>
> > > >> > SimSim :D
>
> > > >> > O problema é que assim: Se eu tivesse essa abordagem:
>
> > > >> > public class Empresa {
> > > >> ...
>
> > > >> --
> > > >>  Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > >> Para enviar uma mensagem, env...
>
> > > >>  --
> > > >> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > >> Para enviar uma mensagem, envie um e-mail para
> > [email protected]
> > > >> Para sair da lista, envie um email em branco para
> > > >> [email protected]
> > > >> Mais opções estão disponíveis emhttp://
> > groups.google.com/group/flexdev
>
> > > > --
> > > > Mario Junior
> > > >http://blog.mariojunior.com/
> > > > @mariojunior
>
> > > --
> > > Mario Juniorhttp://blog.mariojunior.com/
> > > @mariojunior
>
> > --
> > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > Para enviar uma mensagem, envie um e-mail para [email protected]
> > Para sair da lista, envie um email em branco para
> > [email protected]
> > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev
>
> --
> Mario Juniorhttp://blog.mariojunior.com/
> @mariojunior

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a