sql >> Base de Datos >  >> NoSQL >> MongoDB

findAll falla después de reiniciar Play morphia

¿El módulo dependiente tiene otra declaración alternativa de las clases Page o Model?

Desde la parte superior del seguimiento de la pila, ("com.google.code.morphia.mapping.MappingException:error al establecer el valor del convertidor (LongConverter) para models.Page.navigationId en 20000"), parece que hay una falta de coincidencia de tipo entre la forma se está almacenando y recuperando un valor numérico. Por ejemplo, en Java, no es poco común almacenar algo como Double y luego intentar recuperarlo por error como Integer o Long. Entonces, ¿puede verificar que la declaración de ID de navegación en el módulo dependiente es la misma que ha mostrado aquí? Deberían compartir la definición, pero es posible que haya una alternativa.

Otra cosa que debe verificar es que su código esté poniendo un Long en yourDBObject y no un float. Por ejemplo, si lo está insertando a través del shell, deberá usar uno de los envoltorios, por ejemplo,

db.Página.save({_id:NumberLong(20000)});

De lo contrario, esto también provocará una falta de coincidencia cuando lo recupere; por defecto, los números en JavaScript son dobles.