PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Verwenden Sie Point-Typ mit PostgreSQL und JPA/Hibernate

INSTALLIEREN SIE DIE POSTGIS-ERWEITERUNGEN IN IHRER DATENBANK.

Der Fehler, auf den Sie stoßen, liegt daran, dass Sie nichts in Ihrer Datenbank installiert haben, auf das sich Hibernate beziehen kann. Es ist Postgres, das sich beschwert, nämlich:

Ihre Anmerkungen und Konfiguration besagen, dass sie von PostGIS abhängig sind:

<property name="hibernate.dialect"  value="org.hibernate.spatial.dialect.postgis.PostgisDialect" />

Im Grunde versuchen Sie also, eine nicht unterstützte Konfiguration zu verwenden.

PostgreSQL enthält nicht alle möglichen Datentypen, an die jemals jemand gedacht hat, wie es Oracle tut. Wenn also Hibernate sagt:„Ich möchte eine ‚Geometrie‘, sagt PostgreSQL nur:„Was ist eine Geometrie?“ PostgreSQL ist sehr erweiterbar, also haben die PostGIS-Leute das getan – sie haben eine Erweiterung gebaut. Jeder kann sie installieren oder ganz ohne sie ausführen. Das einzige Problem Es verursacht, wenn jemand es in der sofort einsatzbereiten Datenbank erwartet, und nicht, dass es sich um ein Add-On handelt.

Ich nehme an, Sie könnten versuchen, die PostgreSQL-Datentypen zurückzuentwickeln und sie in Ihrer Datenbank zu kompilieren. Geometrie ist eine Master-Superklasse für PostGIS, zumindest in Java, und sie sieht in der Datenbank genauso aus. Ich sehe einfach nicht ein, warum Sie eine Konfiguration einrichten sollten, wenn Sie niemals jemanden dazu bringen werden, sie zu unterstützen.

@blueish hilft das?