Nếu bạn cung cấp cho Hibernate một định nghĩa cột, nó sẽ không cố gắng đoán một định nghĩa:
@Column(columnDefinition = "enum('MALE','FEMALE')")
@Enumerated(EnumType.STRING)
private Gender gender;
Nếu bạn không dựa vào Hibernate để tạo lược đồ của mình vì bất kỳ lý do gì, bạn thậm chí không phải cung cấp các giá trị thực cho columnDefinition. Bằng cách này, bạn xóa một phiên bản mà bạn cần giữ các giá trị được đồng bộ hóa. Chỉ cần giữ đồng bộ hóa Java enum và tập lệnh Liquibase hoặc SQL của bạn:
@Column(columnDefinition = "enum('DUMMY')")
@Enumerated(EnumType.STRING)
private ManyValuedEnum manyValuedEnum;