如何解决JDO查询帮助按配料查找食谱
| 我需要有关JDO查询的帮助。 我有以下实体: 食谱:@PersistenceCapable
class Recipe{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long key;
...
@Persistent(mappedBy = \"recipe\")
private List<RecipeIngredient> ingredients
}
配方成分:
@PersistenceCapable(identityType = IdentityType.APPLICATION,detachable=\"true\")
class RecipeIngredient implements Serializable {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
Integer amount
@Persistent
Key unit
@Persistent
Key ingredient
@Persistent
Recipe recipe
成分:
@PersistenceCapable(identityType = IdentityType.APPLICATION,detachable=\"true\")
class Ingredient implements Serializable {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
String name
一个配方可以有几个配方成分,其中包含实际成分,成分数量和单位。
我想按仅包含给定成分而不包含更多成分的成分获取所有食谱。
目前,我这样做:
通过成分名称获取所有成分对象
通过成分键获取所有配方成分对象
按食谱获取所有食谱
检查食谱中的所有食谱成分是否都在之前的食谱成分列表中
如果是这样,则将配方添加到输出列表
我可以通过查询吗?也许与拥有类似的东西?
解决方法
尝试类似...
从配方r中选择r
其中Ingredients.contains(ri)&&(ri.ingredient.name.matches(:searchTxt))
还可以看一下:http://www.datanucleus.org/servlet/forum/listthreads?forum=9
我不使用Google App Engine,但确实大量使用DataNucleus,并且我相信DataNucleus是App Engine使用的JDO的实现。
让我知道它在App Engine上的工作原理,因为我一直在我的应用程序中做同样的事情。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。