spring data pg存儲json字符串

maven

<dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.3-1102-jdbc4</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

domain

@Entity
public class Demo {

    @javax.persistence.Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String title;
    
    
    @NotNull
    @Column(columnDefinition="text")
    @Convert(converter = ItemConverter.class)
    private List<Item> data;

   
    //......
}

converter

@Converter
public class ItemConverter implements AttributeConverter<List<Item>, String> {
    @Override
    public String convertToDatabaseColumn(List<Item> items) {
        return JSON.toJSONString(items);
    }

    @Override
    public List<Item> convertToEntityAttribute(String s) {
        return JSON.parseObject(s,new TypeReference<List<Item>>(){});
    }
}

doc

相關文章
相關標籤/搜索