Types d'énumération persistants dans Hibernate
Lorsque vous travaillez avec Hibernate, mapper les types d'énumération aux colonnes de la base de données peut parfois poser un défi. Par défaut, Hibernate s'attend à ce que les valeurs d'énumération soient stockées sous forme d'entiers. Cependant, vous préférerez peut-être conserver le type enum dans la base de données pour plus de clarté ou de cohérence.
Pour y parvenir, vous pouvez exploiter l'annotation @Column avec l'attribut columnDefinition :
<code class="java">@Column(columnDefinition = "enum('MALE','FEMALE')") @Enumerated(EnumType.STRING) private Gender gender;</code>
By en spécifiant columnDefinition, vous définissez explicitement le type de données de la colonne dans la base de données, en vous assurant que le type enum est préservé.
Si vous ne dépendez pas d'Hibernate pour la génération de schéma, vous pouvez simplifier davantage le processus en en utilisant une valeur arbitraire pour la colonneDéfinition :
<code class="java">@Column(columnDefinition = "enum('DUMMY')") @Enumerated(EnumType.STRING) private ManyValuedEnum manyValuedEnum;</code>
Cette approche vous permet de synchroniser votre énumération Java et votre schéma de base de données sans vous fier à des valeurs codées en dur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!