我有一个带有表示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。我有一个工作的EclipseLink转换器,用于将字符串转换为inet值,但我不知道为这个元素集合指定转换器的人。将@Convert
注释简单地添加到ips
不起作用。
答案 0 :(得分:1)
使用@Convert应该可行。确保您使用相同的名称定义了转换。
它如何“无法正常工作”?你得到什么错误?
您可以在运行时或DescriptorCustomizer中检查映射,并检查是否在DirectCollectionMapping上设置了valueConverter。