Я пытался изучить и создать пример проекта с использованием GWT / GAE / GoogleDatastore.
Я просто пытаюсь выяснить, как лучше всего разработать модель данных для системы управления обучением.Допустим, традиционным образом следующие сущности .....
Пользователь
Роль
Пользовательские курсы
Курсы
Предметы
Материалы
Пользователь - один на один для роли
Курсы - один ко многим с предметами
Темы - один ко многим с материалами
Пользователи - многие ко многим с курсами, использующими UserCourses
Может ли кто-нибудь подсказать мне, как лучше всего представить это в JDO?
---> Расширение вопроса.
Спасибо, Шифти, но я полностью застрял в неизвестной модели отношений ... пытаюсь / пытаюсь выйти из традиционной реляционной модели.
Позвольте мне взять простые предметы против материалов
Пробую следующую модель,
@ 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;
}
Когда я пытаюсь сначала сохранить материалы, а затем присвоить этот объект предметам, возникают проблемы.Пока я читаю, вы не можете назначить ребенка родителю, который уже существует без родителя.
Иногда возможно добавлять материалы, не назначенные для Темы, но могут быть назначены позже.