我在 Hibernate 注释中有一个问题。我有一个实体,因为我有一个列,我正在使用 @JsonSerialize 将值转换为不同的格式,并使用 @JsonProperty 我将其写入输出 json 中的不同字段:
@Transient
@Type(type = "org.hibernatespatial.GeometryUserType")
@Column(name = "the_geom", columnDefinition = "Geometry")
Geometry gml;
@JsonProperty("wkt")
@JsonSerialize(using = JsonGeometrySerializer.class)
public Geometry getGeom() {
return geom;
}
public void setGeom(Geometry geom) {
this.geom = geom;
}
现在我想为来自 the_geom 列的相同几何创建一个不同的属性,如 @JsonProperty("gml") 并将其写入输出 json 中的不同字段。有没有办法可以在@JsonProperty 中指定多个值?我尝试使用 getter/setter 创建另一个变量并使用 @Trancient 但不确定如何将 the_geom 值发送到该序列化程序。请帮忙。
我尝试了这样的事情并没有奏效:
@Transient
@Type(type = "org.hibernatespatial.GeometryUserType")
@Column(name = "the_geom", columnDefinition = "Geometry")
Geometry gml;
@JsonSerialize(using = JsonGeometrySerializer.class)
public Geometry getGml() {
return gml;
}
public void setGml(Geometry gml) {
this.gml = gml;
}
所以在第一种情况下,几何应该转换为 wkt 并添加到 json 中,而在第二种情况下,几何应该转换为 GML 格式并添加到 gml。我可以有相同的 JsonSerializer 类来做这两者还是我必须写一个新的?