J'ai un type d'énumération sur mon Java que j'aimerais mapper sur une table de la base de données. Je travaille avec Hibernate Annotations et je ne sais pas comment faire. Étant donné que les réponses que je recherche étaient plutôt anciennes, je me demande quelle est la meilleure solution?
Merci d'avance
Avez-vous besoin d'autre chose que le @Enumerated
annotation? Par exemple, l'énumération suivante:
public enum MyEnum {
VALUE1, VALUE2;
}
Pourrait être utilisé et annoté comme ceci:
private MyEnum myEnum;
@Column(name="myenum")
@Enumerated(EnumType.ORDINAL)
public MyEnum getMyEnum() {
return myEnum
}
Vous pouvez spécifier comment l'énumération doit être conservée dans la base de données avec la propriété EnumType
enum de @Enumerated
annotation. EnumType.ORDINAL
spécifie que l'énumération sera conservée en tant que valeur entière. Ici, myEnum
défini sur VALUE1
serait conservé comme 0, VALUE2
comme 1, etc.
L'alternative consiste à utiliser EnumType.STRING
pour spécifier que l'énumération sera conservée en utilisant le nom de la valeur d'énumération dans laquelle le champ est défini. Donc, appliqué à l'exemple précédent, en définissant le champ myEnum
sur MyEnum.VALUE1
persistera comme VALUE1
, etc.