次のコードは、文字列フィールドに SQL 予約語「by」が含まれているため、例外をスローしています。この予約語をどのようにエスケープしますか。このコードは、Google データストア用です。
String field="Hosted by me"
PersistenceManager pm=PMF.get().getPersistenceManager();
try{
Query query=pm.newQuery("select from "+SomeObject.class.getName()
+" where mField=='"+field+"'");
_logger.info(query.toString());
SomeObject=query.execute();
}finally{
pm.close();
}
例外は次のとおりです: org.datanucleus.exceptions.NucleusUserException: クエリに、順不同の JDOQL キーワード (「by」) が含まれています。キーワードは、定義された順序でのみ使用できます。