我在使用H2和GeoDB(內存中,junit)時遇到問題。hibernate-spatial:找不到函數
此外,使用Hibernate 5(最新版本每個軟件包,包括Hibernate空間)和Spring 4
持久存儲和查詢通過ID實體工作得很好。幾何類型被認可沒有問題。出現
問題,當我試圖查詢數據庫與地理空間功能,和Hibernate失敗說,他無法找到函數:
[ERROR] 2015-12-16 11:16:15,000: org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logExceptions:129: Function "ST_CONTAINS" not found; SQL statement:
select geoentity0_.id as id1_0_, geoentity0_.location as location2_0_, geoentity0_.name as name3_0_ from GEO_ENTITY geoentity0_ where ST_Contains(geoentity0_.location, ?)=1 [90022-190]
貌似dialect.Here的probem是什麼我使用(在persistence.xml中):
<property name="hibernate.dialect" value="org.hibernate.spatial.dialect.h2geodb.GeoDBDialect" />
這些都是我用DEPS:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.190</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.opengeo</groupId>
<artifactId>geodb</artifactId>
<version>0.7</version>
<scope>test</scope>
</dependency>
我做錯了什麼,我該如何解決?
編輯:添加h2gis
我試着加入h2gis
我DEPS,但並沒有改變錯誤。我也嘗試用h2gis
替代geodb
,結果相同。
<dependency>
<groupId>org.orbisgis</groupId>
<artifactId>h2spatial-ext</artifactId>
<version>1.2.3</version>
</dependency>
也許你還需要[H2GIS]( http://www.h2gis.org/)? –
@ThomasMueller我按照您的建議嘗試過並更新了結果。 –