appengine jpql:java.lang.IllegalArgumentException:__ key__过滤器值必须是一键

时间:2012-07-05 21:54:51

标签: java google-app-engine jpql

我在appengine 1.7.1上使用JPA,我试图通过JPQL执行许多特定的查询。 我在尝试过滤某个Item对象

上的Key(categoryKey)类型的属性时发现了一个问题

项目类

@Entity
public class Item extends Registro implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Key key = null;
    ....
    private Key categoryKey;
    ....

ItemDAO类

public List<Item> searchByCriteria(SearchItemForm form) {
   Query q = getEm().createQuery("Select i from " +
       Item.class.getName() + " i Where i.categoryKey = :CAT_KEY");
   q.setParameter("CAT_KEY", form.getCategoryKey());
   return q.getResultList();
}

我一直在尝试很多方法但没有结果。

我没有关于这种情况的任何关于appengine:JAVA,JPQL,关键属性不是Item上的ID

我感谢任何建议

0 个答案:

没有答案