Как бы я сопоставил точку и многоугольник с типами java. Если это невозможно, каков обходной путь?
Я хотел бы использовать геопространственную поддержку в mysql или postgres через JPA.
Как бы я сопоставил точку и многоугольник с типами java. Если это невозможно, каков обходной путь?
Я хотел бы использовать геопространственную поддержку в mysql или postgres через JPA.
Я тоже пробовал это - вы можете получить данные, если вы объявите свое поле в JPA как Byte[]
, и оно будет отображаться как большой двоичный объект, но в пространственном внутреннем формате MySQL - поэтому, несмотря ни на что, вы всегда будете получать нечитаемый внутренний формат - лучше всего в JPA использовать собственный SQL-запрос для получения данных в виде текста.
SELECT AsText(columnName) FROM tableName;
Например:
String sql = "SELECT AsText(LOCATION) FROM ENTITY where id=?1";
return (String) em.createNativeQuery(sql)
.setParameter(1, id)
.getSingleResult();
возвращает в моем случае: POINT(40.01999 -75.147171)
.
JPA spatial
. - person Ondrej Bozek   schedule 28.05.2015