| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 09:32:42
|
Andre_JavaWorld
JavaTeenager
![[Avatar]](/images/avatar/b6770af9bf892b0d4dbbc1aa5a3201a4.jpg)
Membro desde: 29/06/2007 12:48:07
Mensagens: 166
Localização: Saint Cyr L'ecole, France
Offline
|
Bom dia Pessoal,
Acompanhado o blog da caelum, deparei um tema um tanto curioso: http://blog.caelum.com.br/2007/06/25/jpa-anotacoes-nos-getters-ou-atributos/ , sei que como esta descrito no proprio blog, é um assunto até certo ponto banal, porem eu pelo menos numca vi ninguem anotar getters, alguem aqui anota? quais seriam as possiveis (por menores que sejam) vantagens de se anotar um getter ao invez de um atributo?
Abraços
André Martins
|
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 09:49:40
|
Cristiano de Barros
JavaBaby
![[Avatar]](/images/avatar/10f95327c7464eda880047e7be289e41.jpg)
Membro desde: 16/03/2008 21:11:04
Mensagens: 78
Localização: Florianópolis
Offline
|
Olá,
No meu trabalho as anotações são todas feitas nos getters, porém eu prefiro nos atributos, eu acho que fica mais fácil de visualizar.
Em relação a diferença, acho que é só questão de costume, nos livros/artigos que li, não era citada nenhuma vantagem nem de um nem de outro.
Abraço
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 09:55:36
|
Andre_JavaWorld
JavaTeenager
![[Avatar]](/images/avatar/b6770af9bf892b0d4dbbc1aa5a3201a4.jpg)
Membro desde: 29/06/2007 12:48:07
Mensagens: 166
Localização: Saint Cyr L'ecole, France
Offline
|
Tambem tenho esta visao Cristiano, Porem se levarmos em conta que o hibernate ira utilizar reflection para ler nossos campos, ele ira ler o getter, e nao o atributo em si diretamente (me corrijam se eu estiver errado!), dai a questao de uma possivel performance ou vantagem em situacoes particulares, so que nao vi nada mais pratico ou detalhado sobre o assunto. Obrigado pela Resposta Cristiano, mais alguem? Abraços André Martins
This message was edited 1 time. Last update was at 24/09/2009 09:56:11
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 09:58:01
|
roger_rf
GUJ Master
Membro desde: 29/04/2009 07:40:19
Mensagens: 1091
Localização: Natal/RN
Offline
|
Eu anoto nos getters. Anotar diretamente nos campos pode lhe dar um pequeno ganho de desempenho, mas normalmente é um ganho tão discreto que não chega a fazer diferença. Prefiro usar os getters porque dessa maneira o Hibernate (ou qualquer outra solução de JPA) usará a mesma semântica de acesso a dados que o desenvolvedor usa nas demais seções da aplicação.
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 10:02:15
|
Andre_JavaWorld
JavaTeenager
![[Avatar]](/images/avatar/b6770af9bf892b0d4dbbc1aa5a3201a4.jpg)
Membro desde: 29/06/2007 12:48:07
Mensagens: 166
Localização: Saint Cyr L'ecole, France
Offline
|
Ola Roger, Nao entendi quando voce disse " Prefiro usar os getters porque dessa maneira o Hibernate (ou qualquer outra solução de JPA) usará a mesma semântica de acesso a dados que o desenvolvedor usa nas demais seções da aplicação." como assim usara a mesma semantica? esta falando de relacionamentos? Abraços André Martins
This message was edited 1 time. Last update was at 24/09/2009 10:13:53
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 10:20:11
|
roger_rf
GUJ Master
Membro desde: 29/04/2009 07:40:19
Mensagens: 1091
Localização: Natal/RN
Offline
|
Nem tanto os relacionamentos, mas realmente a forma de acesso. Por exemplo, numa caixa de diálogo ou página Web você pode usar "cliente.getNome()" para ler o nome do cliente. Se o Hibernate usar "cliente.nome", lendo o nome do cliente diretamente a partir do campo em vez de usar o get(), então estará usando uma semântica diferente daquela do desenvolvedor, que usou get() na interface gráfica. Assim, procuro fazer com que todas as áreas da aplicação façam acesso às propriedades da mesma forma, usando get(), a menos que haja um motivo forte para que isso não aconteça.
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 10:23:12
|
Cherubini
JavaTeenager
![[Avatar]](/images/avatar/b711bf77521e9a477d55ec3561bf6a16.jpg)
Membro desde: 07/03/2008 10:03:25
Mensagens: 155
Localização: São José dos Campos
Offline
|
Eu trabalho com Jboss Seam, e lá n tem jeito(pelo q vi e estudei e no servico nao consegui colocar nos atributos) tem q ser nos getters!!!
|
Thiago M.Cherubini
Quanto mais aprendemos mais temos que aprender! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 10:38:16
|
renanreismartins
GUJ Ranger
![[Avatar]](/images/avatar/b43a306ca1e27299a57727ff5c0d4998.jpg)
Membro desde: 19/09/2007 15:19:38
Mensagens: 807
Localização: São Paulo - SP
Offline
|
roger_rf concordo plenamente, aqui tive um caso onde precisei fazer conversao de tipos nos getters e setters (devido ao jpa nao persistir campos joda-time)...
abrassss
|
http://renanreismartins.blogspot.com/ - Para apaixonados por desenvolvimento de software |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 12:38:57
|
Andre_JavaWorld
JavaTeenager
![[Avatar]](/images/avatar/b6770af9bf892b0d4dbbc1aa5a3201a4.jpg)
Membro desde: 29/06/2007 12:48:07
Mensagens: 166
Localização: Saint Cyr L'ecole, France
Offline
|
Obrigado pelas respostas pessoal, mas qual conceito fez voces anotarem os getters, a grande questao é porque eu deveria anotar um getter e nao um atributo?
Abraços
André Martins
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 14:00:35
|
renanreismartins
GUJ Ranger
![[Avatar]](/images/avatar/b43a306ca1e27299a57727ff5c0d4998.jpg)
Membro desde: 19/09/2007 15:19:38
Mensagens: 807
Localização: São Paulo - SP
Offline
|
Andre_JavaWorld anotar no getter faz com que sempre que o campo seja acessado, a logica presente no getter seja executada, se vc anotar direto no campo essa logica que pode estar no getter nao é acessada e pode quebrar o encapsulamento...
a questao é: se vc usa getters e setters sem nenhuma logica dentro, nao faz diferença.
abrassss
|
http://renanreismartins.blogspot.com/ - Para apaixonados por desenvolvimento de software |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/09/2009 16:02:55
|
Andre_JavaWorld
JavaTeenager
![[Avatar]](/images/avatar/b6770af9bf892b0d4dbbc1aa5a3201a4.jpg)
Membro desde: 29/06/2007 12:48:07
Mensagens: 166
Localização: Saint Cyr L'ecole, France
Offline
|
Obrigado Renan, ficou claro agora o porque, obrigado pelas respostas de todos!
Abraços
André Martins
|
 |
|
|
 |
|
|