【发布时间】:2011-04-04 21:32:34
【问题描述】:
我一直在尝试学习并使用 GWT/GAE/GoogleDatastore 创建示例项目。
我只是想弄清楚为学习管理系统设计数据模型的最佳方法是什么。让我们以传统方式说以下是实体......
用户
角色
用户课程
课程
科目
材料
用户与角色是一对一的
课程与主题是一对多
主题与材料是一对多的
通过使用 UserCourses 的课程,用户是多对多的
有人可以指导我在 JDO 中表示这一点的最佳方式是什么?
---> 问题的扩展。
谢谢你 Shifty,但我完全被无主关系模型困住了……试图/努力摆脱传统的关系模型。
让我来看看简单的主题与材料
正在尝试以下模型,
@PersistenceCapable(identityType = IdentityType.APPLICATION) 公共课科目{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
private String id;
@Persistent
private List<Materials> materials;
}
公开课材料{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
private String id;
@Persistent
private String materialName;
@Persistent
private String author;
@Persistent
private String materialType;
@Persistent
private String url;
}
当我尝试先保存材料然后将该对象分配给主题时出现问题。正如我所读到的,您不能将孩子分配给已经在没有父母的情况下持续存在的父母。
有时可以在未分配到主题的情况下添加材料,但可以稍后再分配。
【问题讨论】:
标签: google-app-engine google-cloud-datastore jdo