0

我有一个类,其中包含一组表示 IP 地址的字符串。

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

在 PostgreSQL table 中t_ips,该列c_ip使用 inet 类型定义。我有一个可以工作的 EclipseLink 转换器,用于将字符串转换为 inet 值,但我不知道谁来为这个元素集合指定转换器。简单@Convert地添加注释ips不起作用。

4

1 回答 1

1

使用 @Convert 应该可以工作。确保您定义了具有相同名称的转换。

它究竟是如何“不起作用”的?你得到什么错误?

您可以在运行时或在 DescriptorCustomizer 中检查映射,并检查是否在 DirectCollectionMapping 上设置了 valueConverter。

于 2013-05-02T12:50:37.217 回答