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.plugmasters.com.br/plugfeed/post/474/mapeamento-de-entidades-com-chave-composta-jpa-with-hibernate+Flex+chaves+compostas+jpa&cd=2&hl=pt-BR&ct=clnk&gl=br&client=firefox-a

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 em http://groups.google.com/group/flexdev
>>
>
>
>
> --
> Mario Junior
> http://blog.mariojunior.com/
> @mariojunior
>



-- 
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