Ich habe ein Modell für den Ruhezustand der Kategorie:
@Entity
@Table(name = "category")
public class Category {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "id")
private long id;
@Column(name = "type")
private String type;
die ein Typzeichenfolgenfeld haben. Außerdem habe ich eine Java-Enumeration, die einen Typ einer Kategorie darstellt:
public enum CategoryType {
INCOME, OUTCOME;
}
was ich anstelle des String-Typs verwenden möchte. Die SQL akzeptiert zwei unterschiedliche Werte im Parameter varchar: entweder CategoryIncome
oder CategoryOutcome
. Ich möchte, dass die Category-Modellklasse eine Enum-Variable akzeptiert - und sie irgendwie der Zeichenfolge zuordnet, wenn der Ruhezustand danach fragt.
Ist es möglich?
@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
Modus und musste meine Tabelle löschen und den Ruhezustand erneut erstellen lassen, um meine Aufzählung von int in varchar zu konvertieren. Hoffentlich hilft es jemandem mit ähnlichen Problemen.