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.