【问题标题】:SELECT from a collection with GWT + App Engine + JPA使用 GWT + App Engine + JPA 从集合中选择
【发布时间】:2012-01-24 17:04:17
【问题描述】:

是否可以搜索 Collection 字段包含特定值的实体?

例如,如果我有一个名为 Item 的实体,它包含一个名为 categories 的 Collection 字段。

public class Item {

  @ManyToMany(cascade = CascadeType.ALL)
  private Set<String> categories = new HashSet<String>();

}

所以我想做的是选择每个包含“蓝色”类别的项目。

我尝试了以下查询:

SELECT o FROM Item AS o WHERE o.categories = :category

SELECT o FROM Item AS o WHERE o.categoriesKeys = :category

从项目中选择 o 作为 o WHERE :category MEMBER OF o.categories

但它不起作用。

【问题讨论】:

  • “它不起作用”并没有告诉我们任何事情。你得到什么例外?使用堆栈跟踪将其包含在您的问题中。
  • 您的注释有误。您不能在存储 String 的字段上使用 @ManyToMany。它必须是一个关系,否则String如何知道Item?

标签: google-app-engine gwt jpa spring-roo


【解决方案1】:

【讨论】:

  • 他为什么“需要”那个?当他使用 GAE 及其 JPA 实现时,您会参考其他 JPA 实现的一些非标准特性。
猜你喜欢
  • 1970-01-01
  • 2014-08-05
  • 2013-05-20
  • 1970-01-01
  • 2011-05-09
  • 1970-01-01
  • 2011-02-24
  • 2014-08-09
  • 1970-01-01
相关资源
最近更新 更多