私は 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;
}
}