英文:
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/(6378137cos(pi()*16.169955064019394/180))),47.49782020196999
> + (180/pi()) * (p.distance/6378137))))) ?# popen(p.coordinates)]
It appears that the intersect operator ?#
is causing the problem
专注分享java语言的经验与见解,让所有开发者获益!
评论