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 em http://groups.google.com/group/flexdev
>



-- 
Mario Junior
http://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