| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 11:24:36
|
diogopontual
Debugger
Membro desde: 04/06/2004 09:58:06
Mensagens: 51
Offline
|
Caramba, tivemos esse problema aqui na empresa. JPA é muito maneiro, mas a equipe tem que entender direitinho o Lazy Load, e como fazer os relacionamentos. Havia um many-to-many, com as coleções nas duas pontas, e tentava-se serializar uma delas para mandar para um cliente Flex, e tomávamos um StackOverflow na testa... Linda oortunidade para se usar (direito) DTO.
Por uma série de motivos, e por causa dos riscos envolvidos, eu preferi, em um novo projeto, abandonar JPA e utilizar as facilidades que o Spring oferece para a camada de dados, usando JDBC mesmo. Pelo menos está me parecendo mais elegante!!!
|
Diogo Dauster Pontual
http://www.sectioaurea.com.br/diogopontual |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/08/2010 11:56:57
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2668
Localização: Chicago, EUA
Online
|
diogopontual wrote:
Caramba, tivemos esse problema aqui na empresa. JPA é muito maneiro, mas a equipe tem que entender direitinho o Lazy Load, e como fazer os relacionamentos. Havia um many-to-many, com as coleções nas duas pontas, e tentava-se serializar uma delas para mandar para um cliente Flex, e tomávamos um StackOverflow na testa... Linda oortunidade para se usar (direito) DTO.
Exatamente o mesmo problema que encontrei no projeto aqui.
Por uma série de motivos, e por causa dos riscos envolvidos, eu preferi, em um novo projeto, abandonar JPA e utilizar as facilidades que o Spring oferece para a camada de dados, usando JDBC mesmo. Pelo menos está me parecendo mais elegante!!!
Exatamente o que faço. Sempre que possível irei abandonar o Hibernate e usar iBatis ou JDBC com query helper. Fica mais limpo, fica mais previsível, fica mais gerenciável, fica mais flexível. Mas ir contra o dogma do Hibernate é uma heresia, vc deve saber disso.
Engraçado como pensamos parecido. Seria legal se trabalhássemos juntos em algum projeto. Entre em contato comigo por email para mantermos o contato. sergio ponto oliveira ponto jr at gmail ponto com.
This message was edited 1 time. Last update was at 31/08/2010 11:58:03
|
Sergio A Oliveira Jr. - saoj
ExperiMENTA:
Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/09/2010 11:37:24
|
Rubem Azenha
GUJ Master
![[Avatar]](/images/avatar/cb953f6ca5923f7517125db46ed1293d.jpg)
Membro desde: 28/06/2004 00:10:43
Mensagens: 1933
Localização: São Paulo, SP
Offline
|
É uma heresia ir contra o dogma "aprenda a usar corretamente a ferramenta antes de fazer uso da mesma, mesmo que para isso tenha que ler um manual de 200 páginas".
|
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/09/2010 10:17:42
|
maniacs
JavaGuru
![[Avatar]](/images/avatar/44d47238d7d3e17aa176019eafac82af.jpg)
Membro desde: 05/07/2005 09:04:14
Mensagens: 240
Offline
|
Certo, vamos ver se entendi o que foi discutido, usar DTO para formatar os dados para determinada resposta é errado, o que realmente me parece errado, independente da reposta o DTO deveria ser igual.
Usar o MESMO DTO para passar dados entre camadas (Negócio/View) seria o correto ? Claro que eu poderia fazer isso usando MAP, mas em meu ponto de vista ficar usando reflection para isso não parece certo, prefiro usar o DTO para isso.
No caso o DTO seria apenas para isso, mostrar / limitar / padronizar os dados enviados da camada de negócio para a view, que formataria a reposta.
Correto?
|
Yuri Nascimento
Moderador GUJS |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/09/2010 10:36:02
|
André Fonseca
JWizard
![[Avatar]](/images/avatar/286b0b3ea509af1aeff6bb47299d96d7.png)
Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline
|
maniacs wrote:Certo, vamos ver se entendi o que foi discutido, usar DTO para formatar os dados para determinada resposta é errado, o que realmente me parece errado, independente da reposta o DTO deveria ser igual.
Usar o MESMO DTO para passar dados entre camadas (Negócio/View) seria o correto ? Claro que eu poderia fazer isso usando MAP, mas em meu ponto de vista ficar usando reflection para isso não parece certo, prefiro usar o DTO para isso.
No caso o DTO seria apenas para isso, mostrar / limitar / padronizar os dados enviados da camada de negócio para a view, que formataria a reposta.
Correto?
oi,
bom, deixa eu dar a minha opinião
- se no java tivessemos algo como um struct do C usariamos ele ao invés desses DTO's ou VO's ou o que seja.. (seria o tal template engine?)
- é errado pegar um objeto de negócio e colocar um monte de gets e sets nele só para facilitar o "agrupamento" desses dados que serão lidos pelo cliente
- não gosto de maps por temos que ficar trabalhando com strings como disseram..
- concordo com a sua ultima afirmação
- supondo que eu tenha que passar para a minha view informações da Empresa e dos Funcionarios, eu criaria um objeto ViewEmpresaFuncionarios e jogaria nele os
atributos que eu preciso e passaria para a view, não mexeria na camada de negócio
- dá uma lida no que o Sergio Taborda falou sobre saco de propriedades
|
Você é novo no GUJ?
Como fazer perguntas?
www.twitter.com/_afonseca |
|
|
 |
|
|
|
|