使用postgis和hibernate-spatial找不到类型几何体

时间:2013-01-25 08:37:09

标签: hibernate postgis hibernate-spatial

我正在尝试使用postgis设置hibernate-spatial项目。在hibernate-spatial 4.0-M1教程之后,我首先遇到了无法找到依赖关系postgis-jdbc-1.5.3.jar的问题。就像有人在这里建议我使用版本1.5.2并且教程编译。

但是如果我尝试运行它会出错。我将hibernate的调试级别设置为debug并且偶然发现了以下问题:

DEBUG SQL -
create table Event (
    id int8 not null,
    date timestamp,
    location GEOMETRY,
    title varchar(255),
    primary key (id)
)
Hibernate:
create table Event (
    id int8 not null,
    date timestamp,
    location GEOMETRY,
    title varchar(255),
    primary key (id)
)
ERROR SchemaExport - HHH000389: Unsuccessful: create table Event (id int8 not null, date timestamp, location GEOMETRY, title varchar(255), primary key (id))
ERROR SchemaExport - FEHLER: Typ ╗geometry½ existiert nicht  Position: 94

错误是德语,但意味着'几何'类型不存在。

如果我使用create table语句并在pgadmin中执行它,那么它可以找到,所以我认为数据库设置正确。

我的版本:

postgres          - 9.0     64Bit
postgis           - 2.0.1   64Bit
hibernate-spatial - 4.0-M1
hibernate         - 4.0.0-Final
postgis-jdbc      - 1.5.2

寻求帮助

JayBee

1 个答案:

答案 0 :(得分:0)

您的Postgresql不支持几何体。您需要为其添加postgis扩展名才能创建空间数据库。所以从here为postgresql下载合适的postgis扩展。然后将其安装在postgresql安装文件夹中,例如(在我的系统中)在以下路径中:

 C:\Program Files (x86)\OpenGeo\OpenGeo Suite\pgsql\9.1