Json 前端hibernate映射中的动态属性
我正在尝试使用SpringBoot、Hibernate和Angular将JSON数据插入数据库。此JSON数据中的属性名在编译时未知Json 前端hibernate映射中的动态属性,json,angular,hibernate,spring-boot,orm,Json,Angular,Hibernate,Spring Boot,Orm,我正在尝试使用SpringBoot、Hibernate和Angular将JSON数据插入数据库。此JSON数据中的属性名在编译时未知 我们是否有可能使用ORM插入此数据?您可以使用@jsonanystetter。此装饰器允许您在模型类中定义一个方法,该方法将接收无法识别的字段。序列化它们并将它们写入另一个字段。稍后,使用@JsonAnyGetter读取数据 伪代码: @ElementCollection @CollectionTable(name = "table") @MapKey
我们是否有可能使用ORM插入此数据?您可以使用@jsonanystetter。此装饰器允许您在模型类中定义一个方法,该方法将接收无法识别的字段。序列化它们并将它们写入另一个字段。稍后,使用@JsonAnyGetter读取数据 伪代码:
@ElementCollection
@CollectionTable(name = "table")
@MapKeyColumn(name = "key")
@Column(name = "value")
@JsonIgnore
private Map<String, String> any;
.
.
@JsonAnySetter
public void setAny(String name, String value) {
any.put(name, value);
}
.
.
@JsonAnyGetter
public Map<String, Object> getAny() {
return any;
}
@ElementCollection
@CollectionTable(name=“table”)
@MapKeyColumn(name=“key”)
@列(name=“value”)
@杰索尼奥雷
任何私人地图;
.
.
@JSONANYSETER
public void setAny(字符串名称、字符串值){
any.put(名称、值);
}
.
.
@JsonAnyGetter
公共地图getAny(){
退回任何文件;
}
我要求表的列名将是JSON对象中的键,键的每个值都是表的对应值…表将已经在数据库中。我必须使用JPA和hibernate插入数据。那么是否有可能在POJO类中使用动态属性?是的,这是可能的。在数据库中,与实体关联的表将保持不变,但需要一个辅助表来存储动态属性(使用@CollectionTable
注释查看映射任何
)。