2016-11-19 2 views
3

Ich verwende Hibernate 5.0 + Postgres 9.4JTS - Hibernate + Postgres + UUID Konflikt

Meine Entitäten verwenden UUID s als indentifier.

Das Projekt verwendet auch hibernate-spatial.

Die id Eigenschaft ist kommentierten einfach als

@Id 
@GeneratedValue 
private UUID id; 

Nach jeder Einheit persistierende (nicht nur die, die mit geometrischen Daten), erhalte ich folgende Fehlermeldung:

column "id" is of type geometry but expression is of type uuid 

Sieht aus wie es einige ist Konflikt in Typen, die mir zuordnen; obwohl ich kein Experte für das Zuordnen von Hibernate-Typen bin.

Gibt es jemanden, der mir helfen kann, dieses Problem zu lösen?

+0

Was ist der Typ der Spalte 'ID' in der Datenbank? – SubOptimal

+0

@SubOptimal Er wird als 'geometry' erstellt, da sowohl' UUID' als auch 'Geometry' 'java.sql.Types.OTHER' zugeordnet sind. –

+0

Sie meinen, Sie haben' CREATE TABLE some_table (id geometry, ...) ' und wollen nun die 'UUID' darauf abbilden? – SubOptimal

Antwort

2

Check out this answer und die ursprüngliche discussion thread

Angabe columnDefinition = "uuid" für mich genau das gleiche Problem gelöst.

@Entity 
public class MyEntity { 
    @Id 
    @GeneratedValue 
    @Column(columnDefinition = "uuid", updatable = false) 
    public UUID getId() { 
     return id; 
    } 
} 
Verwandte Themen