Ebeanを使用してPlay2アプリを作成しています。IDのリストによって会場を取得するためのメソッドを使用してサービスクラスを作成しました。
public static List<Venue> getVenuesForIds(List<Long> list){
ArrayList<Venue> venues = new ArrayList<Venue>();
String sql = "select c.id, c.name from Company c where in (:ids)";
List<SqlRow> sqlRows =
Ebean.createSqlQuery(sql).setParameter("ids", list).findList();
for(SqlRow row : sqlRows) {
venues.add(new Venue(row.getLong("id"), row.getString("name")));
}
return venues;
}
しかし、私は得ています:
[PersistenceException: Query threw SQLException:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'in (201639091,201637666)' at line 1 Query was: select c.id, c.name from Company c where in (?,?) ]
http://www.avaje.org/ebean/introquery.htmlを読みましたが、おそらく正しい構文を見逃していました。これを生のSQLで実行したいと思います。私は何を逃しましたか?