Можно ли прочитать компонент Z SDO_POINT с помощью Hibernate-Spatial поверх Oracle?

Я использую 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? Или просто не поддерживается?


person Pierre Henry    schedule 29.09.2014    source источник


Ответы (1)


После дополнительных исследований я обнаружил ошибку, вызывающую это, и записал следующую проблему JIRA: http://www.hibernatespatial.org/jira/browse/HIBSPA-117

Это будет исправлено в следующем выпуске.

person Pierre Henry    schedule 30.09.2014