我想知道如何使用JPA Java枚举和PostgreSQL枚举类型进行映射?
在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;
但我收到了异常:
Caused by: 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
,如此处所示here
但是ObjectTypeConverter
是一个EclipseLink
注释,不是JPA
,因此我正在寻找另一种方法来解决这个问题。
那么,请问我如何将Java枚举映射到PostgreSQL枚举?