sql >> Databasteknik >  >> NoSQL >> MongoDB

ett fältnamn ClassName infogas i mongodb av morphia

Du kan uttryckligen inaktivera className attribut:@Entity(noClassnameStored = true)

Jag undertrycker i allmänhet attributet om det finns en enda enhetsklass. Om jag underklassar min entitet, aktiverar jag den explicit (vilket är standard, men bara för att vara säker).

Om jag inte har fel så är Morphia smart nog att gissa rätt underklass baserat på egenskaperna även om det inte finns någon className (baserat på reflektion). Så om du har ett attribut mongoKnowledge i din underklass Utvecklare av Person och din underklass Manager inte har det, kommer Morphia att veta att dokument med mongoKnowledge måste vara av klassen Utvecklare . Så strängt taget className krävs bara om dina underklasser har samma attribut; men jag skulle inte lita på det för mycket.

Jag har inte försökt byta namn på entitetsklasserna, men det kommer förmodligen att orsaka problem. Det finns ett långvarigt problem att tillhandahålla en @Polimorphic anteckning och att fixa det tillsammans med det. Se https://code.google.com/p/morphia/issues/detail?id=22



  1. De tre A:en för MongoDB Security – Autentisering, auktorisering och revision

  2. Hur infogar jag HTML i Mongodb?

  3. render_template med flera variabler

  4. MongoDB Visa aktuell användare