Skip to content

PostGIS und Hibernate

Für die Speicherung von Geo-Daten, verwenden wir das DBMS PostgreSQL mit der Erweiterung PostGIS. Die Datenbank wird von einem Frontend gefüttert und abgefragt, das Hibernate für das OR-Mapping verwendet. Da Hibernate den PostGIS Dialekt nicht spricht, haben wir auf den Dialekt von Norman Baker zurückgegriffen. Dazu haben wir die Klassen PostGISDialect und GeometryType aus dem PostGIS SVN (/trunk/java/ejb3/src/org/postgis/hibernate) in unser Projekt kopiert. Die Hibernate Config sieht nun so aus:

jdbc.driverClass=org.postgis.DriverWrapper
hibernate.dialect=org.postgis.myhibernate.PostGISDialect

Das Hibernate Mapping für eine Tabellenspalte mit Datentyp Geometry:

<property name="geom" type="org.postgis.myhibernate.GeometryType">
    <column name="geom" />
</property>

Und die Deklaration der Membervariable in der gemappten Klasse:

private org.postgis.Point geom;

Somit kann man nun PostGIS Datentypen in Java verwenden. Vielen Dank an Norman Baker.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.