【发布时间】:2009-09-30 16:09:02
【问题描述】:
我省略了一些代码(包声明、导入、其他字段) 为了简短。 我这里有简单的一对多关系。 到现在为止它工作得很好。
@PersistenceCapable(identityType = IdentityType.APPLICATION,
detachable="true")
class Restaurant implements Serializable {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
Key id
@Persistent(mappedBy = "restaurant")
List<RestaurantAddress> addresses = new ArrayList<RestaurantAddress>()
}
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
@PersistenceCapable(identityType = IdentityType.APPLICATION,
detachable="true")
class RestaurantAddress implements Serializable {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
Key id
@Persistent
Restaurant restaurant
}
现在我需要从 DB 中获取(选择)所有餐厅:
def getRestaurantsToExport(final String dst, final int count) {
String field = restaurantExportFields[dst]
return transactionExecute() { PersistenceManager pm ->
Query q = pm.newQuery(Restaurant.class)
q.filter = "$field == null"
q.setRange(0, count)
return q.execute()
}
}
但有问题 - 查询给了我 12 家餐厅(如 DB),但是 每家餐厅都有 0 地址,但在数据存储中,每家餐厅都有 最少 2 个地址。
有没有人遇到同样的问题或知道解决方法?
【问题讨论】:
标签: java google-app-engine groovy jdo