JPA Java enum と PostgreSQL enum type をどのようにマッピングするのだろうか?
PostgreSQL側では、このタイプを作成しました:
CREATE TYPE langage AS ENUM ('FR', 'EN', 'DE');
そして、私は Java enum を持っています:
public enum LangageEnum {
FR,
EN,
DE;
}
私のJPAエンティティフィールドはこれです:
@Enumerated(EnumType.STRING)
@Column(name="langage")
private LangageEnum langage = LangageEnum.FR;
しかし、私は例外を受け取ります:
原因: org.postgresql.util.PSQLException: エラー: la colonne « langage » est de type pretoria.langage mais l'expression est de type character Various Indice: Vous devez réécrire l'expression ou lui appliquer une transform de type.
ObjectTypeConverter
as show hereを使用して成功できると思います
しかし、これObjectTypeConverter
はEclipseLink
注釈であるJPA
ため、これを行う別の方法を探しています。
では、Java enum を PostgreSQL enum にマップするにはどうすればよいですか?