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

Hibernate Spatial 4错误未知SQL类型将用于与组织一起插入。波斯吉斯。PGgeometry

穆博简
2023-03-14

当我试图在安装了PostGis扩展的情况下将hibernate空间点存储到o PostgreSQL数据库时,我遇到了一个问题。

本质上,当我尝试将记录插入到表中时,会引发org.springframework.dao.InvalidDataAccessResourceUsageExc0019,解释org.postgis.PG几何无法映射到SQL类型。

操作系统是Windows 10 64位。本地主机上的PostgreSQL server数据库版本为9.6 64位,PostGis版本为2.3.2 64位,Tomcat版本为8.5.8,JVM版本为1.8.0_112-b15,Spring版本为4.1.4。发布Aspectj版本是1.8.4,Hibernate版本是4.3.5。PostGis JDBC驱动程序的最终版本是1.5.2,hibernate方言已设置为org。冬眠空间的地方话波斯吉斯。在Tomcat上,数据源的配置如下:

<Resource name="jdbc/safetyAroundSchool" auth="Container" type="javax.sql.DataSource" maxActive="2" maxIdle="2" maxWait="10000" username="biotope-xxxx" password="xxxxxxxxxx" driverClassName="org.postgis.DriverWrapper" url="jdbc:postgresql_postGIS://localhost:5432/biotope-ssp"/>

但我也用过:

<Resource name="jdbc/safetyAroundSchool" auth="Container" type="javax.sql.DataSource" maxActive="2" maxIdle="2" maxWait="10000" username="biotope-xxxx" password="xxxxxxxxxxx" DriverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/biotope-ssp"/>

以下是字段声明

@Column(columnDefinition = "Geometry", nullable = true)
@Type(type="org.hibernate.spatial.GeometryType")
private Point location;

表格是使用正确的列几何图形类型创建的。这是创建脚本:

CREATE TABLE public.issue
(
    id bigint NOT NULL,
    date timestamp without time zone,
    location geometry,
    longdesc character varying(255) COLLATE pg_catalog."default",
    shortdesc character varying(255) COLLATE pg_catalog."default",
    type bigint,
    userid bigint,
    CONSTRAINT issue_pkey PRIMARY KEY (id)
);

这是我在尝试插入新记录时收到的错误。

意大利语的引语可以这样翻译:不可能识别要用于«org类型实例的SQL类型。波斯吉斯。PGgeometry»。使用«setObject()»指定要用于此值的类型。

你能帮我解决这个问题吗?你还需要其他信息吗?

罗伯托

共有1个答案

贲高寒
2023-03-14

首先,您应该检查您是否实际使用了Hibernate Postgis方言。通常情况下,您应该在启动期间找到相应的日志消息。如果让Spring为您选择方言,它将不会选择Hibernate Postgis方言。

其次,您不需要任何Postgis JDBC驱动程序或驱动程序包装器。Hibernate Spatial使用标准JDBC驱动程序。您可能希望按照本教程了解如何设置所有内容。

 类似资料:
  • 问题内容: 我想将表单的值(以php格式)存储到mysql中,当我将数据插入表中时,该字段的值以波斯语言显示,而该字段的值则以波斯语言显示: 我使用了这些代码,但无法正常工作 表,数据库和列具有utf8_persian_ci排序规则 问题答案: 确保排序规则是utf8。排序规则persiab大小写不敏感可能无法正常工作,因为输入的字符代码可能不在波斯语字符的范围内。unicode 8将起作用。将排

  • 问题内容: 我对Go真的很陌生,su只在这里忍受我。我正在尝试使用以下代码编写将mysql数据加载到Redis集群的代码:redis-go- cluster , load2redis 这是代码。它有点长,请在这里忍受。 当我执行它时,出现以下异常: 有人可以向我解释我在做什么错吗?我将不胜感激。 问题答案: 如前所述,不适用于地图。这是您可以解决它的一种方法。 Do方法映射到Redis命令集,并且

  • 波斯王子(Prince of Persia)是由 Ubisoft、Broderhund 开发一款动作游戏类的电子游戏,并由 Ubisoft 于 1989 年发行。发行在 PC、PS3、PSP、XBOX360 等平台。

  • 问题内容: 我正在从头开始一个新的Java Web应用程序。 我对Spring Framework经验不足,但是我知道我想使用其某些功能,例如Transaccions Management。 另一方面,我真的很喜欢Guice进行依赖注入。 我知道Guice和Spring可以一起工作:http : //www.jroller.com/mindcrime/entry/an_example_of_int

  • 这是我的新pom,简化了,我创建了新项目,并添加了最小值以能够运行spock http://maven.apache.org/maven-v4_0_0.xsd" 但我仍然无法运行测试,现在我得到了 信息:Groovyc:编译模型测试时:java。lang.NoClassDefFoundError:org需要org/codehaus/groovy/ast/MethodCallTransformati

  • 问题内容: 我试图将带注释的变量注入REQUEST范围: 其中,InjectingCallable将GetModule注入REQUEST范围内: GetModule的定义如下: 当我运行此代码时,出现以下错误: 如果我将相同的变量绑定到全局作用域,它将起作用。如果我删除了注释,它将起作用。此问题似乎特定于请求范围的带注释的变量。有任何想法吗? 问题答案: 问题是您没有此类型的绑定。仅仅因为您显式地