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?