java - JPA 中的地理空间支持

标签 java mysql jpa geospatial postgis

<分区>

我如何将点和多边形映射到 Java 类型。如果这不可能,有什么解决方法?

我想通过 JPA 在 mysql 或 postgres 中使用地理空间支持。

最佳答案

我也试过这个 - 如果你在 JPA 中将你的字段声明为 Byte[] 并且它会作为一个 blob 下来,但在 MySQL 空间内部格式中,你可以获得数据 - 所以没有不管怎样,您总是会得到一种不可读的内部格式 - 在 JPA 中,您最好的选择是使用 native 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)

关于java - JPA 中的地理空间支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4840663/

相关文章:

java - 检索插入数字的双倍——客户端服务器编程

java - JX-Browserview重叠系统现有内容

sql - H2 数据库 : Abort Query

java - JPA问题映射文件问题

Java VM - 释放的内存是否返回到操作系统?

重复的 MySQL - 插入但不更新

mysql - 在 where 子句中使用 Select left

mysql - 如何根据节点级别查找父级

java - 如何从数据库中选择列表中的特定条目?

java - 错误填充异常 : Decryption error