Problema com Hibernate Spatial

0 respostas
joaosavio

Falae pessoal,

se meu dado do tipo Point é mapeado assim:

@Type(type="org.hibernatespatial.GeometryUserType")
@Column(columnDefinition="Point", nullable = true)
private Point location;

a coluna location fica do tipo Point, mas não consigo inserir um ponto:

14/02/2010 WARN  org.hibernate.util.JDBCExceptionReporter(3) -> SQL Error: 0, SQLState: 42804
14/02/2010 ERROR org.hibernate.util.JDBCExceptionReporter(3) -> Entrada em lote 0 /* insert events.Event */ insert into Event (descricao, location, title, id) values (NULL, 'SRID=0;POINT(10 15)', 'Testando', '19') foi abortada. Chame getNextException para ver a causa.
14/02/2010 WARN  org.hibernate.util.JDBCExceptionReporter(3) -> SQL Error: 0, SQLState: 42804
14/02/2010 ERROR org.hibernate.util.JDBCExceptionReporter(3) -> ERRO: coluna "location" é do tipo point mas expressão é do tipo geometry
  Dica: Você precisará reescrever ou converter a expressão.
  Posição: 90

Por outro lado, se mapeio assim:

@Type(type="org.hibernatespatial.GeometryUserType")
private Point location;

a coluna location fica do tipo Geometry e dá tudo certo

O Point é gerado assim:

GeometryFactory gf = new GeometryFactory();
Coordinate coordinate = new Coordinate();
coordinate.x = 5.0;
coordinate.y = 6.0;       
Point p2 = gf.createPoint(coordinate);

Pergunta: Como faço pra coluna ficar do tipo Point e dar tudo certo?

Criado 14 de fevereiro de 2010
Respostas 0
Participantes 1