我在 GAE 上使用 JPA,这个查询返回一个包含 1 个元素的列表。这个元素是一个 org.datanucleus.store.types.sco.backed.ArrayList (它最终包含我的结果),而我期待一个产品列表。我做错了什么?提前谢谢!
Query query = entityManager.createQuery
             ("select p.products from Place p where p.id = :Id" );
query.setParameter("Id",id);
    List<Product> resultList = query.getResultList();
    //for debugging purpose
    assert (resultList.get(0) instanceof Product);
    if (resultList.size() > 0)
    {
        //raise a cast exception here
        Product p = resultList.get(0);
    }
@Entity
public class Place {
    private Collection<Product> products;
    @OneToMany(cascade = CascadeType.ALL)
    public Collection<Product> getProducts() {
        return products;
    }
    public void setProducts(Collection<Product> products) {
        this.products = products;
    }
    private String id;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
}