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:
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é.