В моем PostgreSQL 9.3 + PostGIS 2.1.5 у меня есть таблица PLACE
со столбцом coordinates
типа Geometry(Point,26910)
.
Я хочу привязать его к объекту PLACE
в моем веб-приложении Spring Boot 1.1.9, которое использует Hibernate 4.0.0+. PLACE
доступен в репозитории REST.
К сожалению, когда я GET http://localhost:8080/mywebapp/places
, я получаю этот странный ответ JSON:
{
"_embedded" : {
"venues" : [ {
"id" : 1,
"coordinates" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
"envelope" : {
и так далее неопределенно...! Spring журнал не помогает..
Я работаю с этим application.properties:
spring.jpa.database-platform=org.hibernate.spatial.dialect.postgis.PostgisDialect
spring.jpa.show-sql=false
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:postgresql://192.168.1.123/mywebapp
spring.datasource.username=postgres
spring.datasource.password=mypwd
spring.datasource.driverClassName=org.postgresql.Driver
Во-первых, можно ли использовать database-platform
вместо database
?
И, возможно, мне нужно использовать следующие настройки вместо вышеуказанного?
spring.datasource.url=jdbc:postgresql_postGIS://192.168.1.123/mywebapp
spring.datasource.driverClassName=org.postgis.DriverWrapper
В любом случае моя сущность выглядит примерно так:
@Entity
public class Place {
@Id
public int id;
@Column(columnDefinition="Geometry")
@Type(type="org.hibernate.spatial.GeometryType") //"org.hibernatespatial.GeometryUserType" seems to be for older versions of Hibernate Spatial
public com.vividsolutions.jts.geom.Point coordinates;
}
Мой pom.xml содержит эту важную часть:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.3-1102-jdbc41</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-spatial</artifactId>
<version>4.3</version><!-- compatible with Hibernate 4.3.x -->
<exclusions>
<exclusion>
<artifactId>postgresql</artifactId>
<groupId>postgresql</groupId>
</exclusion>
</exclusions>
</dependency>
Немного странная конфигурация, я нашел его в Интернете, это тот, который работает лучше всего на данный момент.
Я надеюсь, что кто-то может помочь мне с этим мистерием.:)