java - enumerated - spring boot enum
Asignación de enumeración a cadena en hibernación (1)
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 cadena tipo. También tengo una enumeración 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 de Categoría acepte una variable de enumeración y la asigne de alguna manera a la cadena siempre que Hibernate lo solicite.
¿Es posible?
Sí, es posible Debería ser:
@Enumerated(EnumType.STRING)
@Column(name = "category_type")
private CategoryType categoryType;