を働いている:休止状態空間検索の例外が、Postgresでは、コンソールは、私が休止状態と休止状態空間を使用して、私のJavaコードでこのクエリを実行しようとしている
Query q = s.createQuery("SELECT c FROM crimes c WHERE ST_DWITHIN(ST_MakeLine(ARRAY['SRID=4326;POINT(-49.30621000000001 -25.515020000000003)','SRID=4326;POINT(-49.30619 -25.515770000000003)','SRID=4326;POINT(-49.306180000000005 -25.5162)','SRID=4326;POINT(-49.305780000000006 -25.5162)']), c.location, 0.0001) = true;");
しかし、このクエリは、例外が発生します。
e = (org.hibernate.hql.internal.ast.QuerySyntaxException) org.hibernate.hql.internal.ast.QuerySyntaxException: expecting CLOSE_BRACKET, found ',' near line 1, column 151 [SELECT c FROM com.safecity.server.db.model.EntityCrime c WHERE ST_DWITHIN(ST_MakeLine(ARRAY['SRID=4326;POINT(-49.305820000000004 -25.515330000000002)','SRID=4326;POINT(-49.306200000000004 -25.515340000000002)','SRID=4326;POINT(-49.30619 -25.515770000000003)','SRID=4326;POINT(-49.306180000000005 -25.5162)','SRID=4326;POINT(-49.305780000000006 -25.5162)']), c.location, 0.0001) = true]
クエリを確認したところ、エラーが見つかりませんでした。しかし、私はこの同じクエリを取得し、ポストグルコンソールで実行すると、クエリはエラーなしで実行され、正しい値を返します。
誰かが私を助けることができますか?おかげさまで
これを実行している間は、クエリを簡略化します。 'ST_DWITHIN()'は既に 'boolean'を返します。 '= true'を追加する必要はありません。それはちょうどノイズです:'犯罪からの犯罪cの場所ST_DWITHIN(ST_MakeLine(ARRAY [...])、c.location、0.0001) ' –
ありがとう、私はそれを変更します – brunoroberto