SimSim :D
O problema é que assim: Se eu tivesse essa abordagem:
public class Empresa {
@OneToOne, @ManyToOne... //qualquer relacionamento do hibernate, ou
seja as informações do endereço iriam ocupar outra tabela
public Endereco endereco; //agora está como public :D
}
No banco de dados:
Tabela endereco
codigo | rua | cidade | bairro | estado
1 | xx | xxxx | xxx | xxx
Tabela empresa
nome | endereco
rrrr | 1 (vinculado na tabela 'auxiliar')
Isso funciona sem problema.
Já se eu utilizo assim
@Embeddable
public class Endereco {
...
}
public class Empresa {
@Embedded
public Endereco endereco;
}
Esse @Embeddable e @Embedded são anotações JPA, que permitem criar
objetos separados, porém eles ficam na mesma tabela do banco de dados
(não existe um relacionamento entre eles) e, sim apenas uma forma
diferente de armazenar os dados, até para uma melhor organização do
projeto.
No caso do endereço até teria sentido manter em uma tabela separado os
endereços. Mas por exemplo, CPF. Normalmente se utiliza String ou até
inteiro. Porém, o "mais correto" seria criar um tipo CPF para garantir
uma tipagem maior. Algo assim:
@Embeddable
public class CPF {
public String registro;
}
public class PessoaFisica {
@Embedded
public CPF cpf;
public String nome;
}
assim no banco de dados ficaria: tabela pessoa
nome | registro
xxxx | xxxxx
Ele entende que o @Embedded como fazendo parte das variáveis, e não
como relacionamento. Nesse caso é ótimo, pois não faz sentido ter uma
tabela para armazenar os CPF's. Seria algo como um include das
variáveis para outra classe. Por isso a dificuldade....
Agora ficou explicado? Alguém com alguma idéia?
On 13 set, 16:38, Fredy Gadotti <[email protected]> wrote:
> Bom, é que se você dá um contexto errado fica dificil de ajudar :)
>
> Nunca tive esse problema, sempre que eu faço a tipagem certa, ele usa a
> reflexão para popular os atributos.
>
> Att,
>
> Fredy.
>
> 2010/9/13 RafaelViana <[email protected]>
>
>
>
> > Isso eu sei.... apenas escrevi aquelas classes para exemplificar o meu
> > problema.
>
> > On 13 set, 15:04, Fredy Gadotti <[email protected]> wrote:
> > > Os acessores tem que ser públicos para conseguir trafegar para o Flex ou
> > ter
> > > um getter e setter publico.
>
> > > 2010/9/13 RafaelViana <[email protected]>
>
> > > > Quanto mais OO tento fazer o software no back-end, mais dificuldade
> > > > percebo no Flex. Isso também acontece com vocês? (isso é assunto para
> > > > outra discussão inteira...)
>
> > > > Por exemplo, hoje fui tentar criar as entidades do projeto utilizando
> > > > Tiny Types, ou seja, criar alguns objetos menores para representar os
> > > > dados.
>
> > > > Exemplo:
>
> > > > Java:
>
> > > > public class Empresa {
>
> > > > @Embedded
> > > > private BaseCalculo baseCalculo;
>
> > > > }
>
> > > > @Embeddable
> > > > public class BaseCalculo {
>
> > > > private Double valor;
>
> > > > }
>
> > > > No banco de dados isso seria equivalente a:
>
> > > > public class Empresa {
>
> > > > private valor;
>
> > > > }
>
> > > > =====================
>
> > > > No Flex não consegui representar os dados da mesma maneira....
>
> > > > Tentei assim...
>
> > > > public class Empresa {
>
> > > > private valor;
>
> > > > }
>
> > > > Tentei desse outro jetio:
>
> > > > public class Empresa {
>
> > > > private BaseCalculo baseCalculo;
>
> > > > }
>
> > > > public class BaseCalculo {
>
> > > > private Double valor;
>
> > > > }
>
> > > > E nada..... o valor chega como nulo...
>
> > > > Alguém já conseguiu fazer algo semelhante? Ou Orientação a Objetos não
> > > > combina com Flex?
>
> > > > Referencia sobre Tiny Type:
>
> > > >http://blog.caelum.com.br/2009/07/20/pequenos-objetos-imutaveis-e-tin.
> > ..
> > > >http://gc.blog.br/2007/10/03/tiny-types/
> > > >http://archsofty.blogspot.com/2009/08/tiny-types-nao-sao-desperdicios.
> > ..
>
> > > > --
> > > > 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
>
> > --
> > 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
--
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