Speichern der PostGIS-Geometrie: "Ungültiger Endian-Flag-Wert gefunden."

Ich habe ein Spring Roo + Hibernate-Projekt, das eine bekannte JTS-Textzeichenfolge (WKT) aus der Clientanwendung verwendet, sie in ein JTS-Geometrieobjekt konvertiert und dann versucht, sie in die PostGIS-Datenbank zu schreiben. Ich hatte einige Probleme mitdie JDBC-Verbindung und Typen, aber diese scheinen gelöst worden zu sein mit:

@Column(columnDefinition = "Geometry", nullable = true) 
private Geometry centerPoint;

Und die Konvertierung macht:

Geometry geom = new WKTReader(new GeometryFactory(new PrecisionModel(), 4326)).read(source);

Wenn Hibernate jetzt jedoch versucht, mein Geometry-Objekt in die Datenbank zu schreiben, wird eine Fehlermeldung angezeigt:

2012-08-31 21:44:14,096 [tomcat-http--18] ERROR org.hibernate.util.JDBCExceptionReporter - Batch entry 0 insert into land_use (center_point, version, id) values ('<stream of 1152 bytes>', '0', '1') was aborted.  Call getNextException to see the cause.
2012-08-31 21:44:14,096 [tomcat-http--18] ERROR org.hibernate.util.JDBCExceptionReporter - ERROR: Invalid endian flag value encountered.

Es scheint klar zu sein, dass der Fehler mit der Binärdarstellung zusammenhängt, die bei einigen vermutlich als bekannte Binärdarstellung (WKB) erzeugt wirdEndianness. Da Hibernate die ganze Ausdauer verbirgt, kann ich nicht wirklich sagen, in welche Richtung sich die Dinge entwickeln.

Ich kämpfe seit Tagen gegen dieses Geometrie-Zeug, und es gibt nur sehr wenige Informationen zu diesem Fehler. Hat also jemand gute Ideen? Kann ich die Endianzahl irgendwo angeben (Ruhezustand oder PostGIS) oder in einem anderen Format (WKT) speichern?

BEARBEITEN: Ich sollte auch erwähnen, dass ich das Neueste von allem verwende, was im Allgemeinen kompatibel zu sein scheint:

Spring 3.1.1, Roo 1.2.1Ruhezustand 3.6.9Hibernate-Spatial 4.0-M1jts 1.12PostgreSQL 9.1postgis-jdbc 1.5.3 (nicht die neueste, aberEmpfohlen für den Winterschlaf, aus der Quelle zusammengestellt)postgis-jdbc 2.0.1 (habe dies gerade ausprobiert, um mit der mit PostgreSQL installierten Version übereinzustimmen, dasselbe Problem)

DasTutorial für Hibernate Spatial 4 schlägt vor, dass ich die Eigenschaftsanmerkung wie folgt mache:

@Type(type="org.hibernate.spatial.GeometryType")
private Geometry centerPoint;

... aber wenn ich das tue, bekomme ichdieser andere Fehler, welches die aktuelle Annotation auflöst.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage