Character ? causes error on EntityManager::createNativeQuery

huangapple 未分类评论44阅读模式
英文:

Character ? causes error on EntityManager::createNativeQuery

问题

我有上面的查询:

SELECT p.id, p.constraint_id, p.distance, p.height, p.coordinates, p.gtype, p.name FROM geometry p WHERE p.gtype='PolylineVolume' AND path(polygon(box(point(15.740013406952562 - (180/pi()) * (p.distance/(6378137*cos(pi()*15.740013406952562/180))),46.97849625047054 - (180/pi()) * (p.distance/6378137)),point(16.007686681509206 + (180/pi()) * (p.distance/(6378137*cos(pi()*16.007686681509206/180))),47.07276572929793 + (180/pi()) * (p.distance/6378137))))) ?# popen(p.coordinates)

当我尝试使用EntityManager::createQuery来执行它时,我得到以下错误:

java.lang.IllegalArgumentException: org.hibernate.QueryException: 
Expected positional parameter count: 1, actual parameters: [] 
[SELECT p.id, p.constraint_id, p.distance, p.height, p.coordinates, p.gtype, p.name FROM geometry p WHERE p.gtype='PolylineVolume' AND path(polygon(box(point(15.180269398356009 - (180/pi()) * (p.distance/(6378137*cos(pi()*15.180269398356009/180))),47.15207765669525 - (180/pi()) * (p.distance/6378137)),point(16.169955064019394 + (180/pi()) * (p.distance/(6378137*cos(pi()*16.169955064019394/180))),47.49782020196999 + (180/pi()) * (p.distance/6378137))))) ?# popen(p.coordinates)]

看起来交集运算符?#是引起问题的原因。

英文:

I have this query above:

SELECT p.id, p.constraint_id, p.distance, p.height, p.coordinates, p.gtype, p.name FROM geometry p WHERE p.gtype='PolylineVolume' AND path(polygon(box(point(15.740013406952562 - (180/pi()) * (p.distance/(6378137*cos(pi()*15.740013406952562/180))),46.97849625047054 - (180/pi()) * (p.distance/6378137)),point(16.007686681509206 + (180/pi()) * (p.distance/(6378137*cos(pi()*16.007686681509206/180))),47.07276572929793 + (180/pi()) * (p.distance/6378137))))) ?# popen(p.coordinates)

and when I am trying to execute it with the help of EntityManager::createQuery
I am getting the following error:

> java.lang.IllegalArgumentException: org.hibernate.QueryException:
> Expected positional parameter count: 1, actual parameters: [] [SELECT
> p.id, p.constraint_id, p.distance, p.height, p.coordinates, p.gtype,
> p.name FROM geometry p WHERE p.gtype='PolylineVolume' AND
> path(polygon(box(point(15.180269398356009 - (180/pi()) *
> (p.distance/(6378137*cos(pi()15.180269398356009/180))),47.15207765669525
> - (180/pi()) * (p.distance/6378137)),point(16.169955064019394 + (180/pi()) *
> (p.distance/(6378137
cos(pi()*16.169955064019394/180))),47.49782020196999
> + (180/pi()) * (p.distance/6378137))))) ?# popen(p.coordinates)]

It appears that the intersect operator ?# is causing the problem

huangapple
  • 本文由 发表于 2020年4月6日 23:04:58
  • 转载请务必保留本文链接:https://java.coder-hub.com/61062821.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定