gpt4 book ai didi

json - Spring 启动 JPA : Storing entity as JSON

转载 作者:行者123 更新时间:2023-12-03 03:01:36 25 4
gpt4 key购买 nike

在我的 Spring Boot 应用程序中,我有这样的实体:

@Entity
@Table(name = "UserENT")
public class User implements Serializable {

@Id
private String id;

private Data data;
...

我想实现该对象数据将以json格式存储在数据库中。但从数据库中选择时,它会映射到数据对象上。

感谢您的建议。

最佳答案

您可以实现一个javax.persistence.AttributeConverter,如下所示:

public class DataJsonConverter implements AttributeConverter<Data, String> {

private ObjectMapper objectMapper = ...;

@Override
public String convertToDatabaseColumn(Data data) {
try {
return objectMapper.writeValueAsString(data);
} catch (JsonProcessingException e) {
throw new RuntimeException("Could not convert to Json", e);
}
}

@Override
public Data convertToEntityAttribute(String json) {
try {
return objectMapper.readValue(json, Data.class);
} catch (IOException e) {
throw new RuntimeException("Could not convert from Json", e);
}
}
}

然后您可以通过注释您的字段来使用它:

@Convert(converter = DataJsonConverter.class)
private Data data;

关于json - Spring 启动 JPA : Storing entity as JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44681127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com