| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2011 19:02:13
|
MABS
JavaBaby
![[Avatar]](/images/avatar/7bc416e133c5e29365e5f475b0a91e7d.jpg)
Membro desde: 10/04/2011 21:35:04
Mensagens: 90
Offline
|
Olá!
Estou tentando fazer uma migração da aplicação da Apostila da Caelum FJ28 do hibernate para o Objectify só que infelizmente esta dando um erro.
Segue abaixo os códigos que eu estou utilizando:
Classe Produto:
"formulario.jsp":
Classe ProdutoController:
Obs. Estou deixando o código comentado, pois não acho importante algumas função por enquanto, meu interesse é só realizar o cadastro do produto sem nenhum erro.
Classe ProdutoDao:
Mensagem de Erro:
Realmente não sei o que fazer mais!
Abraço!
This message was edited 1 time. Last update was at 02/06/2011 11:02:42
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2011 19:35:37
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
se vc quer que a classe produto tenha um construtor não padrão, vc precisa usar o vraptor junto com o IOGI...
para isso, coloque esse jar no WEB-INF/lib:
https://github.com/caelum/vraptor/blob/master/vraptor-core/lib/optional/iogi/iogi-0.8.2.jar
e coloque essa configuração no web.xml (ou adicione na já existente)
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2011 21:31:19
|
MABS
JavaBaby
![[Avatar]](/images/avatar/7bc416e133c5e29365e5f475b0a91e7d.jpg)
Membro desde: 10/04/2011 21:35:04
Mensagens: 90
Offline
|
Adicionei o JAR e mudou o erro, eu não estou entende porque esta dando NullPointerException!
Messagem de Erro:
Abraço!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2011 22:00:09
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
o nullpointer tem como raiz o seu produtoDAO:
tenta debugar aí e ver se tem alguma coisa nula sendo passada por aí
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2011 22:51:34
|
MABS
JavaBaby
![[Avatar]](/images/avatar/7bc416e133c5e29365e5f475b0a91e7d.jpg)
Membro desde: 10/04/2011 21:35:04
Mensagens: 90
Offline
|
Na verdade não sei por qual motivo ainda mais os dados do formulário não esta chegando nem na classe Controller!
Assim que eu achar a cagada que eu fiz eu aviso e deixo o tópico como RESOLVIDO!
Que merda!RS*
Obrigado pela ajuda! Lucas.
Abraço!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/05/2011 23:30:09
|
MABS
JavaBaby
![[Avatar]](/images/avatar/7bc416e133c5e29365e5f475b0a91e7d.jpg)
Membro desde: 10/04/2011 21:35:04
Mensagens: 90
Offline
|
Olá, Lucas!
Achei o erro, na verdade é bem simples. Quando era realizado o cadastro no Banco de Dados Relaciona (MySQL) não era necessário preencher o campo "ID" da tabela, pois este campo era gerado automaticamente (@GeneratedValue).
Agora eu estou usando um Banco de Dados sem Relacionamento (BigTable), sendo assim, não esta sendo gerado automaticamente o campo "ID".
Mas na verdade eu estava contado que o campo "ID" fosse preenchido automaticamente mas sem ser seqüencial. Tinha esta certeza, pois o Sergio Lopes comentou sobre este fato no seguinte tópico: http://www.guj.com.br/java/241901-vraptor--objectify---google-app-enginegae-resolvido
Agora realmente ficou um interrogação, será que estou fazendo uma cagada, ou realmente não é gerado automaticamente ?
Abraço!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2011 13:24:20
|
davisnog
JavaEvangelist
Membro desde: 21/05/2007 21:05:18
Mensagens: 438
Localização: Blumenau/SC
Offline
|
Isso de setar um id para o Objeto é porque você esta usando um long primitivo, altera para o Wrapper Long id que vai funcionar, o objectify verifica se esse id é null, caso seja ele cria um, senão ele deixa como esta, e nesse caso o seu id será sempre zero.
|
- DAVI NOGUEIRA -
Assim como um pai se compadece de seus filhos, assim o SENHOR se compadece daqueles que o temem. Salmos 103:13
@davisnog |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2011 13:26:18
|
MABS
JavaBaby
![[Avatar]](/images/avatar/7bc416e133c5e29365e5f475b0a91e7d.jpg)
Membro desde: 10/04/2011 21:35:04
Mensagens: 90
Offline
|
Olá, davisnog!
Valeu mano vou testar aqui e já dou uma resposta!
Abraço!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/06/2011 00:12:29
|
Sergio Lopes
Moderador
![[Avatar]](/images/avatar/8232e119d8f59aa83050a741631803a6.jpg)
Membro desde: 17/11/2003 00:22:10
Mensagens: 1368
Localização: São Paulo - SP
Offline
|
MABS wrote:Agora realmente ficou um interrogação, será que estou fazendo uma cagada, ou realmente não é gerado automaticamente ?
Como o davisnog falou, precisa ser Long wrapper e não primitivo. Se for primitivo ele acha que já tem id (zero) e não gera. Precisa ser um Long e deixar null pro put() gerar.
Na doc do Objectify:
Objectify wrote:
One field must be annotated with javax.persistence.Id. It can be of type Long, long, or String. If you use Long and put() an object with a null id, a value will be generated for you. If you use String or the primitive long type, values will never be autogenerated.
http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Create_Your_Entity_Classes
|
Sérgio Lopes - twitter: @sergio_caelum - blog pessoal: sergiolopes.org
Curso Java | Apostilas Java | Arquitetura Java | Curso Rails |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/06/2011 11:02:14
|
MABS
JavaBaby
![[Avatar]](/images/avatar/7bc416e133c5e29365e5f475b0a91e7d.jpg)
Membro desde: 10/04/2011 21:35:04
Mensagens: 90
Offline
|
Valeu Galera realmente era só o declaração da variável!
Abraço!
|
|
|
 |
|
|