diff --git a/pom.xml b/pom.xml
index 2c64717780..07238d61bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data
spring-data-relational-parent
- 2.4.0-SNAPSHOT
+ 2.4.0-1065-geometric-SNAPSHOT
pom
Spring Data Relational Parent
diff --git a/spring-data-jdbc-distribution/pom.xml b/spring-data-jdbc-distribution/pom.xml
index 0646c2846d..ccf2b70236 100644
--- a/spring-data-jdbc-distribution/pom.xml
+++ b/spring-data-jdbc-distribution/pom.xml
@@ -14,7 +14,7 @@
org.springframework.data
spring-data-relational-parent
- 2.4.0-SNAPSHOT
+ 2.4.0-1065-geometric-SNAPSHOT
../pom.xml
diff --git a/spring-data-jdbc/pom.xml b/spring-data-jdbc/pom.xml
index 11114a795e..d94ce22f88 100644
--- a/spring-data-jdbc/pom.xml
+++ b/spring-data-jdbc/pom.xml
@@ -6,7 +6,7 @@
4.0.0
spring-data-jdbc
- 2.4.0-SNAPSHOT
+ 2.4.0-1065-geometric-SNAPSHOT
Spring Data JDBC
Spring Data module for JDBC repositories.
@@ -15,7 +15,7 @@
org.springframework.data
spring-data-relational-parent
- 2.4.0-SNAPSHOT
+ 2.4.0-1065-geometric-SNAPSHOT
diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/dialect/JdbcPostgresDialectUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/dialect/JdbcPostgresDialectUnitTests.java
new file mode 100644
index 0000000000..9187fa3c0f
--- /dev/null
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/dialect/JdbcPostgresDialectUnitTests.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.data.jdbc.core.dialect;
+
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+import org.postgresql.geometric.PGbox;
+import org.postgresql.geometric.PGcircle;
+import org.postgresql.geometric.PGlseg;
+import org.postgresql.geometric.PGpath;
+import org.postgresql.geometric.PGpoint;
+import org.postgresql.geometric.PGpolygon;
+import org.postgresql.util.PGobject;
+
+/**
+ * Unit tests for {@link JdbcPostgresDialect}.
+ *
+ * @author Jens Schauder
+ */
+public class JdbcPostgresDialectUnitTests {
+
+ @Test // GH-1065
+ void pgobjectIsConsideredSimple() {
+ assertThat(JdbcPostgresDialect.INSTANCE.simpleTypes()).contains(PGobject.class);
+ }
+
+ @Test // GH-1065
+ void geometricalTypesAreConsideredSimple() {
+
+ assertThat(JdbcPostgresDialect.INSTANCE.simpleTypes()).contains( //
+ PGpoint.class, //
+ PGbox.class, //
+ PGcircle.class, //
+ org.postgresql.geometric.PGline.class, //
+ PGpath.class, //
+ PGpolygon.class, //
+ PGlseg.class);
+ }
+}
diff --git a/spring-data-relational/pom.xml b/spring-data-relational/pom.xml
index a6eb48c891..86c6fbc539 100644
--- a/spring-data-relational/pom.xml
+++ b/spring-data-relational/pom.xml
@@ -6,7 +6,7 @@
4.0.0
spring-data-relational
- 2.4.0-SNAPSHOT
+ 2.4.0-1065-geometric-SNAPSHOT
Spring Data Relational
Spring Data Relational support
@@ -14,7 +14,7 @@
org.springframework.data
spring-data-relational-parent
- 2.4.0-SNAPSHOT
+ 2.4.0-1065-geometric-SNAPSHOT
diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/PostgresDialect.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/PostgresDialect.java
index e43855826c..8782bbf3da 100644
--- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/PostgresDialect.java
+++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/PostgresDialect.java
@@ -15,7 +15,7 @@
*/
package org.springframework.data.relational.core.dialect;
-import java.sql.JDBCType;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@@ -214,8 +214,19 @@ public IdentifierProcessing getIdentifierProcessing() {
*/
@Override
public Set> simpleTypes() {
+
Set> simpleTypes = new HashSet<>();
- ifClassPresent("org.postgresql.util.PGobject", simpleTypes::add);
+ List simpleTypeNames = Arrays.asList( //
+ "org.postgresql.util.PGobject", //
+ "org.postgresql.geometric.PGpoint", //
+ "org.postgresql.geometric.PGbox", //
+ "org.postgresql.geometric.PGcircle", //
+ "org.postgresql.geometric.PGline", //
+ "org.postgresql.geometric.PGpath", //
+ "org.postgresql.geometric.PGpolygon", //
+ "org.postgresql.geometric.PGlseg" //
+ );
+ simpleTypeNames.forEach(name -> ifClassPresent(name, simpleTypes::add));
return Collections.unmodifiableSet(simpleTypes);
}