Comment mapper une énumération avec un champ? Comment annoter pour que les valeurs H, C soient conservées dans la base de données? Si je garde @Enumerated(EnumType.STRING)
, HIGHSCHOOL au lieu de H sera stocké dans la base de données. Si j'utilise EnumType.ORDINAL
, 1 au lieu de H sera stocké dans la base de données. Veuillez suggérer une solution.hibernate - Comment annoter une propriété enum avec un champ
Répondre
Il n'y a pas de façon intégrée de faire cela dans Hibernate. Vous pouvez écrire un UserType pour le faire pour vous si vous le souhaitez.
This est un bon début, mais vous aurez besoin de remplacer les implémentations nullSafeSet()
et nullSafeGet()
pour stocker votre code ENUM (par exemple « H »/« C »/ce que vous avez) et retourne une instance appropriée enum sur cette base.
Si vous avez plus d'un type d'énumération, vous pouvez implémenter l'interface ParameterizedType pour transmettre le type enum en tant que paramètre ou utiliser la réflexion pour récupérer le "code" tant que les méthodes d'accès sont nommées de façon cohérente.
Merci ChssPly76 pour la solution. J'ai implémenté un type d'utilisateur et ça marche bien. En fait, il existe un exemple dans la communauté hibernate pour conserver la valeur/token dans l'énumération. Click here: StringValuedEnum
- 1. MySQL enum avec hibernate
- 2. Ajouter un champ au modèle, comme annoter
- 3. Puis-je annoter une propriété finale héritée avec @Autowire?
- 4. Django annoter sur un « champ personnalisé » avec django-tri
- 5. Comment générer un modèle avec un champ de type enum?
- 6. Mappage enum Hibernate
- 7. Dans MVC 2, comment annoter une classe pour un modèle d'aide d'interface utilisateur (pas une propriété)?
- 8. Propriété de contrôle ASP.NET avec [Flags] enum
- 9. Java - Enum avec champ de tableau
- 10. Mappage enum Hibernate 'sans table'?
- 11. Contrôle utilisateur WPF avec une propriété de type Enum
- 12. Courant NHibernat - Interrogation champ ENUM avec LINQ
- 13. Comment ajouter une propriété Hibernate qui est vraiment une requête
- 14. Désactiver la propriété/collection Chargement avec Hibernate
- 15. Mappage des types enum avec des annotations Hibernate
- 16. Requête sur l'entité hibernate avec le champ de type utilisateur
- 17. Comment bien annoter un ggplot2 (manuel)
- 18. Hibernate: @UniqueConstraint avec le champ @ManyToOne?
- 19. Lot charger une propriété Hibernate chargé paresseusement
- 20. Hibernate mappant un second champ @Embeddable dans une sous-classe
- 21. Annoter une classe interne anonyme
- 22. Comment annoter une propriété JAXB pour utiliser xsd: time plutôt que xsd: datetime?
- 23. Hibernate Projections.sum() sur une énumération
- 24. Est-il possible d'avoir un champ enum dans une classe persisté avec OrmLite?
- 25. NHibernate: Déterminer si une propriété est mappée à un champ
- 26. annoter l'ajout d'un attribut à un élément
- 27. Comment mapper int en enum avec EF
- 28. Comment créer un champ Tinyint dans l'annotation Hibernate
- 29. Hibernate - filtrage par propriété associée
- 30. comment accéder à un champ enum mySQL avec Java ResultSet et PreparedStatement