Har det afhængige modul en anden alternativ erklæring af side- eller modelklasserne?
Fra toppen af stak-sporingen ("com.google.code.morphia.mapping.MappingException:Fejl ved indstilling af værdi fra konverter (LongConverter) for models.Page.navigationId til 20000"), ser det ud til, at der er en type uoverensstemmelse mellem måden en numerisk værdi bliver gemt og hentet. For eksempel i Java er det ikke ualmindeligt at gemme noget som en Double og derefter fejlagtigt forsøge at hente det som et heltal eller et langt. Så kan du verificere, at erklæringen om navigations-id i det afhængige modul er den samme som den, du har vist her? De burde dele definitionen, men det er muligt, at der er en alternativ.
En anden ting at kontrollere er, at din kode sætter en Long i ditDBObject og ikke en float. Hvis du f.eks. indsætter den via skallen, skal du bruge en af indpakningerne, f.eks.
db.Page.save({_id:NumberLong(20000)});
Ellers vil dette også forårsage et mismatch, når du henter det; som standard er tal i JavaScript dobbelte.