我想知道如何使用 JPA Java 枚举和 PostgreSQL 枚举类型进行映射?
在 PostgreSQL 方面,我创建了这种类型:
CREATE TYPE langage AS ENUM ('FR', 'EN', 'DE');
我有一个 Java 枚举:
public enum LangageEnum {
FR,
EN,
DE;
}
我的 JPA 实体字段是这个:
@Enumerated(EnumType.STRING)
@Column(name="langage")
private LangageEnum langage = LangageEnum.FR;
但我收到异常:
引起:org.postgresql.util.PSQLException: ERREUR: la Colonne « langage » est de type pretoria.langage mais l'expression est de type character varying Indice : Vous devez réécrire l'expression ou lui appliquer une transformation de type。
我想我可以在这里ObjectTypeConverter
使用as show成功
但是ObjectTypeConverter
是一个EclipseLink
注释,JPA
所以我正在寻找另一种方法来做到这一点。
那么,我怎样才能将 Java 枚举映射到 PostgreSQL 枚举呢?