0

IP アドレスを表す文字列のコレクションを持つクラスがあります。

@ElementCollection
@CollectionTable(name = "t_ips",
                 joinColumns =  @JoinColumn(name = "fk_parent"))
@Column(name = "c_ip")
private List<String> ips = new ArrayList<>();

PostgreSQL テーブルt_ipsでは、列c_ipはタイプ inet で定義されています。文字列を inet 値に変換するための動作中の EclipseLink コンバーターがありますが、この要素コレクションのコンバーターを指定する人がわかりません。@Convert注釈を単純に追加しipsても機能しません。

4

1 に答える 1

1

@Convert を使用するとうまくいくはずです。Convert を同じ名前で定義したことを確認してください。

それはどのように正確に「機能しない」のですか?どのようなエラーが表示されますか?

実行時または DescriptorCustomizer でマッピングを確認し、DirectCollectionMapping で valueConverter が設定されているかどうかを確認できます。

于 2013-05-02T12:50:37.217 に答える