Tengo un modelo de categoría Hibernate:
@Entity
@Table(name = "category")
public class Category {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "id")
private long id;
@Column(name = "type")
private String type;
que tienen un campo de tipo cadena. También tengo una enumeración de Java que representa un tipo de categoría:
public enum CategoryType {
INCOME, OUTCOME;
}
que me gustaría usar en lugar del tipo de cadena. SQL acepta dos valores distintos en el parámetro varchar: CategoryIncome
o CategoryOutcome
. Me gustaría que la clase de modelo Category aceptara una variable de enumeración y la asignara de alguna manera a la cadena cada vez que hibernate lo solicite.
¿Es posible?
@Converter(autoApply = true) public class CategoryTypeConverter implements javax.persistence.AttributeConverter <CategoryType, String>
@Enumerated(EnumType.STRING) public CategoryType getCategoryType() { return this.categoryType; }
.hibernate.ddl-auto=update
modo y tuve que soltar mi tabla y dejar que hibernate la creara nuevamente para convertir mi enumeración de int a varchar. Con suerte, ayudará a alguien con un problema similar.