Insérer une annotation personnalisée dans le champ java à l’aide du plug-in annotate + JAXB (sur xsd -> java)

Cas d’utilisation:

Voulez-vous insérer des annotations personnalisées dans les champs de la classe Java générés par JAXB

Problème:

En utilisant le plugin Annotate + JAXB [1], je peux insérer des annotations personnalisées avec succès, mais elles sont insérées à la méthode getter plutôt que sur le terrain Les annotations Morphia (mongo DB) (que je veux réellement insérer) ne peuvent cependant annoter que les champs java [2].

Mon test xsd:

         

Mon test de liaison xjb:

          

Mon extrait de code java généré:

  @XmlElement(required = true) protected Ssortingng bar; @XmlElement(required = true) protected Ssortingng hoobar; /** * Gets the value of the bar property. * * @return * possible object is * {@link Ssortingng } * */ @SuppressWarnings({ }) public Ssortingng getBar() { return bar; } 

Comme vous pouvez le voir, je veux annoter le champ “barre”. S’il vous plaît donnez votre avis. Demandez plus si nécessaire.

[1] Générer une annotation @Indexed à l’aide de Jaxb ou HyperJaxb
[2] Pour un exemple, voir l’annotation @ Id de Morphia.

Ok, vous l’avez compris vous-même. Utilisez pour annoter un champ. Les autres options sont:

  • setter
  • paramètre de réglage
  • getter
  • champ
  • classe

Voir la documentation .

Encore une chose: vous devez atsortingbuer l’atsortingbut field à la externe :

    

Le placer sur la même balise que l’ annox:class résidant pourrait ne pas fonctionner. Cela m’est arrivé.