| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/07/2009 19:46:23
|
thiagofesta
JavaGuru
![[Avatar]](/images/avatar/eff4ceddd4035b36233219a6ea4b889e.png)
Membro desde: 19/12/2007 10:42:11
Mensagens: 233
Offline
|
Mark_Ameba wrote:ty
Eu só decedi retirar a parte do meu sistema que da pra todo mundo usar, separar nesse projeto e ajudar as pessoas.
Idéias são bem vindas. ^^
Fala Mark, estou aqui denovo, surgiu uma dúvida agora, e tenho duas alternativas, gostaria de saber qual delas é a melhor.
Eu tenho uma classe POJO chamada VendedorPOJO(Este é o vendedor), e outra chamada VendaPOJO (Esta é a venda, nela eu digo quem é o vendedor com um atributo do tipo integer chamado idVendedor).
A QUESTÃO:
Preciso mostrar na minha tabela a data da venda (VendaPOJO) e o nome do vendedor (O idVendedor está na VendaPOJO, mas o nmVendedor está na VendedorPOJO).
Consegui duas soluções:
1) Ao invés de armazenar o idVendedor, armazenar o VendedorPojo, porém, precisarei fazer SQL's ao criar estes objetos (ACHO QUE ESTE é O MELHOR) [NA HORA DE POR NA TABELA EU BUSCO COM O PARENT, CORRETO?];
ou
2) Fazer um atributo chamado nmVendedor na classe VendaPOJO e armazenar os dados nele (ESSE ACHO PIOR)
Você acha que existe outro meio de fazer isto? qual destes você me indica?
Obrigado amigo!
|
"É melhor calar-se e deixar que as pessoas pensem que você é tolo, do que falar e acabar com a dúvida"
Abraham Lincoln |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2009 07:36:34
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Eu indico manter a referencia a um VendedorPOJO invés de só o id parece mais OO.
Dai pra tabela voce ia passar algo como:
(VendaPOJO.class, "vendedor.nome")
Voce esta usando Hibernate? Ou SQL puro?
Outra forma é ter um objeto que representa os dados. Voce nem precisa ter todos dados da Venda nem de Vendedor, apenas aqueles para aparecer na tabela e dados adicionais como ID se voce quiser pegar da tabela esse objeto e pegar o respectivo objeto como Venda ou Vendedor.
É a unica maneira que vejo para não ter que alterar seus POJOs.
PS: Voce coloca POJO no final das suas classes de modelo mesmo?
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2009 07:47:28
|
thiagofesta
JavaGuru
![[Avatar]](/images/avatar/eff4ceddd4035b36233219a6ea4b889e.png)
Membro desde: 19/12/2007 10:42:11
Mensagens: 233
Offline
|
Não uso Hibernate, eu ia utilizar, mas nunca havia mechido e precisava fazer este programa meio rápido (2 meses no máximo)
Ai até eu aprender Hibernate bem, complica um pouco, mas no futuro quero migrar ele.
PS: Voce coloca POJO no final das suas classes de modelo mesmo?
Como assim?
Eu possuo uma pacote POJO, onde tenho os objetos como se fossem as tabelas do banco, e tenho um pacote DAO onde efetuo as operações passando estes POJOs como parâmetros.
Outra forma é ter um objeto que representa os dados. Voce nem precisa ter todos dados da Venda nem de Vendedor, apenas aqueles para aparecer na tabela e dados adicionais como ID se voce quiser pegar da tabela esse objeto e pegar o respectivo objeto como Venda ou Vendedor.
É a unica maneira que vejo para não ter que alterar seus POJOs.
Veja se entendi. Criar um objeto o qual irei colocar apenas o que eu quero que exiba na tabela, não sendo necessariamente o meu POJO?
Se for isso seria legal, não havia pensado nisso! Fica simples e não preciso alterar muito meus POJOs
Outra pergunta. Sobre os meus POJOs, quando há ligações de FKs eu uso apenas os IDs como int em meu POJO, o correto é usar a referência do outro POJO, ou é indiferente?
|
"É melhor calar-se e deixar que as pessoas pensem que você é tolo, do que falar e acabar com a dúvida"
Abraham Lincoln |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2009 09:24:45
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Eu perguntei sobre usar POJO no final dos nomes por curiosidade mesmo.
É que eu não chamaria as classes de VendaPOJO e VendedorPOJO. Apenas Venda e Vendedor. Mas isso é questão do programador e não altera nada o resultado.
E é isso mesmo que voce entendeu. Fora os dados para a tela pode guardar também os ids dos objetos que esse objeto representa. Assim fica fácil obter o objeto original no banco.
Como eu uso o hibernate ele já faz essa parte das FKs por mim. Eu mantenho a referencia mas no banco guarda apenas o id como FK.
Voce pode guardar a referencia mas no banco manter a FK e sempre buscar e setar o objeto correto ao carregar.
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2009 09:30:05
|
thiagofesta
JavaGuru
![[Avatar]](/images/avatar/eff4ceddd4035b36233219a6ea4b889e.png)
Membro desde: 19/12/2007 10:42:11
Mensagens: 233
Offline
|
Eu uso o POJO no final sim, sei la porque, me acostumei a usar, haha. Maravilha!  Eu decidi fazer da melhor forma, ao invés de armazenar só os IDs, armazenar o objeto, fica muito melhor! Mas obrigado! Outra coisa, parabéns pelo Formatter da sua API, agora precisei usar, show de bola! O conteúdo do seu site está excelente, exemplo simples e que ajudam bastante.
This message was edited 1 time. Last update was at 16/07/2009 09:42:45
|
"É melhor calar-se e deixar que as pessoas pensem que você é tolo, do que falar e acabar com a dúvida"
Abraham Lincoln |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2009 09:35:32
|
thiagofesta
JavaGuru
![[Avatar]](/images/avatar/eff4ceddd4035b36233219a6ea4b889e.png)
Membro desde: 19/12/2007 10:42:11
Mensagens: 233
Offline
|
Uma questão sobre o Formatter. Quando que ele usa o método parse(String s)? eu implementei, mas quando ele é usado? E o getName()?
This message was edited 1 time. Last update was at 16/07/2009 09:36:15
|
"É melhor calar-se e deixar que as pessoas pensem que você é tolo, do que falar e acabar com a dúvida"
Abraham Lincoln |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2009 09:43:59
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Quando voce seta o valor setEditableDefault do model para true as celulas sao editaveis. E após alterar alguma esse método é chamado com a String que veio da célula e já altera no objeto correspondente na propriedade certa.
o getName é usado para o Binder quando voce passa o formatter para o componente como "[fmt:int_formatter]" nesse caso algum Formatter passado por parametro deve retornar essa String ("int_formatter") pelo getName.
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
|
|