Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Enum no Hibernate, persistindo como um enum


Se você der ao Hibernate uma definição de coluna, ele não tentará adivinhar uma:
@Column(columnDefinition = "enum('MALE','FEMALE')")
@Enumerated(EnumType.STRING)
private Gender gender;

Se você não está confiando no Hibernate para gerar seu esquema por qualquer motivo, você nem precisa fornecer valores reais para o columnDefinition. Dessa forma, você remove uma instância em que precisa manter os valores sincronizados. Basta manter seu Java enum e seu script Liquibase ou SQL sincronizados:
@Column(columnDefinition = "enum('DUMMY')")
@Enumerated(EnumType.STRING)
private ManyValuedEnum manyValuedEnum;