지난 포스트에서 PostGIS와 Hibernate Spatial을 이용해서 위치 데이터를 찾았다.
이번엔 H2GIS를 추가하여 테스트 환경을 구축하겠다.
H2GIS 확장자를 초기화하려면 SQL 구문을 적용해야한다
CREATE ALIAS IF NOT EXISTS H2GIS_SPATIAL FOR "org.h2gis.functions.factory.H2GISFunctions.load";
CALL H2GIS_SPATIAL();
테스트를 위한 준비가 끝났다.
그런데 테스트를 하기에 앞서 지난 포스트에서 작성한 쿼리를 수정하였다.
postgis에서는 정상적으로 잘 동작하지만, h2gis에서는org.locationtech.jts.geom.Point 타입을 사용하면 에러가 발생한다
Data conversion error converting "JAVA_OBJECT to GEOMETRY"
버전 문제인가 싶어서 공식문서에 나온 버전으로 h2gis, h2, jts 버전을 낮춰서 해봤지만 문제를 해결하지못했다.
또한 columnDefinition을 추가하여도 마찬가지로 에러가 계속 발생하였다.
@Column(columnDefinition = "geometry(Point,4326)")
private Point point;
그래서 double 타입의 latitude, longitude를 이용하여 st_point함수로 point값을 계산하였다.