J'ai un modèle Category 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;
qui ont un champ de type chaîne. J'ai également une énumération Java qui représente un type de catégorie:
public enum CategoryType {
INCOME, OUTCOME;
}
que je voudrais utiliser à la place du type de chaîne. Le SQL accepte deux valeurs distinctes dans le paramètre varchar: soit CategoryIncome
ou CategoryOutcome
. Je voudrais que la classe de modèle de catégorie accepte une variable enum - et la mappe d'une manière ou d'une autre à la chaîne chaque fois que hibernate le demande.
C'est possible?
@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
mode et j'ai dû abandonner ma table et laisser hibernate la créer à nouveau afin de convertir mon enum de int en varchar. Espérons que cela aide quelqu'un avec un problème similaire.