Mysql
 sql >> Base de données >  >> RDS >> Mysql

Enum dans Hibernate, persistant en tant qu'énumération

Si vous donnez à Hibernate une définition de colonne, il n'essaiera pas d'en deviner une :

@Column(columnDefinition = "enum('MALE','FEMALE')")
@Enumerated(EnumType.STRING)
private Gender gender;

Si vous ne comptez pas sur Hibernate pour générer votre schéma pour une raison quelconque, vous n'avez même pas besoin de fournir de valeurs réelles pour la columnDefinition. De cette façon, vous supprimez une instance dont vous avez besoin pour synchroniser les valeurs. Gardez simplement votre énumération Java et votre script Liquibase ou SQL synchronisés :

@Column(columnDefinition = "enum('DUMMY')")
@Enumerated(EnumType.STRING)
private ManyValuedEnum manyValuedEnum;