2016-07-21 10 views
0
SELECT id,zipcode,state_id,district_city_id,city_id,country_id,longitude,latitude,region,post_office,(6371 * acos(cos(radians(?)) * cos(radians(Latitude)) * cos(radians(Longitude) - radians(?)) + sin(radians(?)) * sin(radians(Latitude)))) AS distance FROM zipcodeinfo group by city_id HAVING distance < ? order by distance asc 

ここでは、現在の入力とテーブルのデータから派生した距離フィールドが必要です。 しかし、これは距離として過渡的な変数を作成したとしても、距離は存在しないということです。あなたが言うように、あなたが持つ句派生列が休止状態のエンティティに存在しません

HAVING distance < ? 

と注文句

order by distance 

しかし、距離の中で、あなたのクエリで距離を使用

+0

"cos"、 "radians"、 "sin"などはJPQLの有効なキーワード/関数ではありません。 JPQL!= SQL。また、JPQLはクラス/フィールドに依存しており、エンティティクラスを投稿していません –

答えて

0

は一時的である、したがって、データベース内の列ではありませんテーブルの列が期待されているために注文句を使用することはできません