当前位置: 首页 > 知识库问答 >
问题:

如何使用spring boot JPA在Postgres中存储几何点?

凌智
2023-03-14

使用spring boot jpa将经度和纬度存储为几何位置,作为Postgres中的点。

应用下面的代码后,它抛出:列“location”的类型是point,但表达式的类型是bytea。

获取抛出的数据时:无法反序列化;嵌套的异常是org。冬眠类型序列化异常:无法反序列化

在pom中添加依赖项。xml

<dependency>
    <groupId>com.vividsolutions</groupId>
    <artifactId>jts</artifactId>
    <version>1.13</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-spatial</artifactId>
    <version>5.4.1.Final</version>
</dependency>

在实体类中添加列。

@Column(columnDefinition = "POINT")
private Point location;

用于将数据存储到数据库中

GeometryFactory geometryFactory = new GeometryFactory();

            Coordinate coordinate = new Coordinate();
            coordinate.x = 2;
            coordinate.y = 5;

            Point myPoint = geometryFactory.createPoint(coordinate);
            user.setLocation(myPoint);

我需要在Postgres中以(30.5,53.123)格式存储数据。

共有1个答案

逑禄
2023-03-14

在Postgresql中添加postgis扩展。按照以下查询在特定架构中添加扩展。

CREATE EXTENSION postgis;

并改变冬眠方言与spatial.dialect.postgis.PostgisDialect

 类似资料:
  • 我试图将一个几何体对象存储到我的postgist数据库中,该数据库有一个带有几何体列的表。我从另一个带有几何列的表格中得到了几何值,我打印了我之前得到的值,结果没问题。要存储几何体值,我使用下一个函数: 但我总是得到这个错误: 组织。postgresql。util。PSQLException:无法推断用于org实例的SQL类型。波斯吉斯。指向使用带有显式类型值的setObject()指定要使用的类

  • 我刚开始冬眠。我需要在postgres中存储文件,列的数据类型是。我在互联网上四处寻找这个案例的工作演示,但我找不到任何。 Hibernate映射:

  • 本文向大家介绍如何在MongoDB中使用存储的JavaScript?,包括了如何在MongoDB中使用存储的JavaScript?的使用技巧和注意事项,需要的朋友参考一下 它保存在特殊的system.js集合中。为此,请使用db.system.js.save()。以下是语法- 让我们实现以上语法。以下是查询- 以下是调用上述函数以打印实际数据的查询- 这将产生以下输出-

  • 问题内容: 我想创建一个属性字符串,然后将其存储在中,然后再次访问它,并将属性字符串分配给。我该怎么办?提前致谢。 问题答案: 您必须将转换为,然后将其存储在中。

  • 问题内容: 目前,我正在使用一项服务来执行操作,即从服务器检索数据,然后将数据存储在服务器本身上。 取而代之的是,我想将数据放入本地存储中,而不是将其存储在服务器上。我该怎么做呢? 问题答案: 这是我存储和检索到本地存储的代码的一部分。我使用广播事件来保存和恢复模型中的值。