我有一个java实体类,其列的注释如下:
@Column(name = "extent", columnDefinition = "geometry(Polygon,4326)")
private Polygon extent;
当我测试这个时,我收到一条错误消息,告诉我SRID丢失了。 这是有道理的,因为Polygon没有任何关联的坐标引用系统(CRS),并且删除CRS可以解决问题。
在保留SRID信息的同时,是否可以通过Hibernate访问此列?在任何谈论这个问题的地方我都找不到任何例子。
谢谢
答案 0 :(得分:0)
原来,Polygon有一个setSRID(int)方法,用于设置SRID。杜!
答案 1 :(得分:0)
public final static int SRID = 4326;
Polygon polygon = geometryFactory.createPolygon(shellCoordinates.stream().toArray(n -> new Coordinate[n]));
polygon.setSRID(SRID);