Я определяю базовый класс, который имеет первичный ключ Long, так же, как это.
@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true")
@Inheritance(strategy = InheritanceStrategy.SUBCLASS_TABLE)
public class ModelBase implements Serializable {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
, а другие pojo расширяют ModelBase.Когда я запросил jdoql, как этот код
public List<PersonalSetting> getByIds(Long... Ids) {
Query query = getQuery();
query.setFilter("id ==:id");
return (List<PersonalSetting>) query.execute(Ids);
}
, но он просто дал мне исключение.
java.lang.ClassCastException: [Ljava.lang.Long; cannot be cast to com.google.appengine.api.datastore.Key
Я обнаружил, что у класса Key есть поле "Id", но я могу 't получить доступ к нему как "id.id ==: id".Кто-нибудь может подсказать как это исправить?Большое спасибо!