要在 PostgreSQL 的 jsonb 列中使用 AttributeConverter,需要正确配置和使用转换器。以下是一个可能的解决方案:
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
import com.fasterxml.jackson.databind.ObjectMapper;
@Converter
public class JsonbConverter implements AttributeConverter
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class MyEntity {
@Id
private Long id;
@Convert(converter = JsonbConverter.class)
private MyAttribute myAttribute;
// getters and setters
}
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQL10Dialect
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
这些步骤将设置正确的转换器,并确保 PostgreSQL 正确地将 jsonb 数据存储到数据库中。
请注意,此解决方案假设您的项目中使用了 Hibernate 作为 JPA 实现。如果您使用的是其他 JPA 实现,可能需要相应地调整代码。