Was ist das Standardziel für eine Annotation beim Annotieren von Eigenschaften in Kotlin?
Annotationen in Kotlin können unterschiedliche Verwendungsstellen haben, wie hier erklärt:https: //kotlinlang.org/docs/reference/annotations.html#annotation-use-site-target
Meine Frage lautet: Wenn use-site nicht explizit definiert ist, was ist das Standardziel beim Kommentieren von Eigenschaften in einer Klasse wie im folgenden Beispiel?
class Test {
@SomeAnnotation
var someProperty: String? = null
}
Hintergrun
Ich versuche Jongo als MongoDB-Client in Kotlin und habe Probleme, das ID-Feld mit Anmerkungen zu versehen. Jongo ordnet die ID-Eigenschaft nicht korrekt zu, wenn sie wie folgt kommentiert ist:
@MongoId @MongoObjectId var id: String? = null
Die betreffenden Anmerkungen sind nur Meta-Anmerkungen für Jackson. Es scheint jedoch zu funktionieren, wenn ich die Eigenschaft wie folgt annotiere, was auf ein Problem mit der Verwendungsstelle hinweist:
@field:[MongoId MongoObjectId]
var id: String? = null
Ich würde erwarten, dass@field
ist die Standard-Verwendungsseite, aber es scheint, dass dies nicht der Fall ist.