私の現在のプロジェクトでは、休止状態の JPA を永続化ライブラリとして使用しています。パラメータをクエリに設定すると、奇妙なエラーが発生します。
私は次のものを持っています:
List<Location> loca = JPA.em().createQuery(
"SELECT location FROM Location as location"
+ " where "
+ "( 6371 * acos(cos(PI() / 180 * :platitude ) * cos(PI() / 180 *location.latitude ) * "
+ "cos(PI() / 180 *location.longitude - PI() / 180 *:plongitude ) + sin( PI() / 180 *:platitude) * "
+ "sin(PI() / 180 *location.latitude ) ) ) < :radius")
.setParameter("radius", 10000.0)
.setParameter("platitude", new Double(latitude))
.setParameter("plongitude", new Double(longitude))
.getResultList();
結果エラーは次のとおりです。
[IllegalArgumentException: パラメータ値 [43.239474] は型 [java.lang.Integer] と一致しませんでした]
ただし、精度が失われるため、この値を整数にキャストすることはできません。
助言がありますか?