MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

findAll falha após o play morphia ser reinicializado


O módulo dependente tem outra declaração alternativa das classes Page ou Model?

Na parte superior do rastreamento de pilha, ("com.google.code.morphia.mapping.MappingException:Error setting value from converter (LongConverter) for models.Page.navigationId to 20000"), parece que há uma incompatibilidade de tipo entre o caminho um valor numérico está sendo armazenado e recuperado. Por exemplo, em Java, não é incomum armazenar algo como um Double e, em seguida, erroneamente tentar recuperá-lo como um Integer ou um Long. Então, você pode verificar se a declaração de navigationId no módulo dependente é a mesma que você mostrou aqui? Eles devem compartilhar a definição, mas é possível que haja uma alternativa.

Outra coisa a verificar é se seu código está colocando um Long em yourDBObject e não um float. Por exemplo, se você estiver inserindo-o por meio do shell, precisará usar um dos wrappers, por exemplo.

db.Page.save({_id:NumberLong(20000)});

Caso contrário, isso também causará uma incompatibilidade ao recuperá-lo; por padrão, os números em JavaScript são duplos.