Я использую Hibernate-Spatial для сопоставления поля com.vividsolutions.jts.geom.Point
в объекте с полем SDO_POINT
в моей таблице Oracle 11g.
Столбец в таблице определяется как:
"SST_COORDINATES" "MDSYS"."SDO_GEOMETRY"
Столбец отображается как:
@Type(type = "org.hibernate.spatial.GeometryType")
@Column(name = "SST_COORDINATES")
@QueryType(PropertyType.NONE)
private Point coordinates;
(Аннотация @QueryType
взята из QueryDSL, поэтому, вероятно, не имеет отношения к делу, но я включил ее для полноты картины)
Вот пример содержимого столбца SDO_POINT (как видно в SQLDeveloper):
MDSYS.SDO_GEOMETRY(3001,21781,MDSYS.SDO_POINT_TYPE(649300,246800,399.4),NULL,NULL)
Все работает нормально, за исключением того, что я не могу прочитать компонент Z точки. Класс Point
имеет только аксессоры getX()
и getY()
.
Я попытался получить доступ к базовому объекту org.hibernate.spatial.jts.mgeom.MCoordinate
с помощью метода getCoordinate()
, но значение Z равно значению Y.
Может ли кто-нибудь помочь мне получить значение Z с помощью Hibernate-Spatial? Или просто не поддерживается?