Чрезвычайно запутанный заголовок, я знаю.
Здравствуйте, я сталкиваюсь с некоторыми странными проблемами здесь.
У меня есть класс свойств, такой как
@PersistenceCapable
public class Property implements Serializable
{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
private String key;
//...
}
Теперь у меня также есть два других класса.Давайте назовем их Фабрика и Магазин.Они оба имеют свойства, например:
@PersistenceCapable
public class Factory implements Serializable
{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
private String key;
@Persistent
private String m_Name;
@Persistent
private List<Property> m_FactoryProperties;
}
и
@PersistenceCapable
public class Store implements Serializable
{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
private String key;
@Persistent
private String m_Name;
@Persistent
private List<Property> m_StoreProperties;
}
Хотя это выглядит просто, оно не будет работать.И я понятия не имею, почему, я предполагаю, что это связано с индексом, так как в средстве просмотра данных GAE есть либо m_FactoryProperties_INTEGER_IDX, либо m_StoreProperties_INTEGER_IDX, когда я просматриваю объекты свойств.(Они никогда не появляются одновременно).
(Не работает, если я переименую списки в m_Propertys) ...
Разве это невозможно?Я мог бы создать класс FactoryProperty- и StoreProperty, но это было бы ужасно неправильно.Другое решение, о котором я думаю, - это создание суперкласса, который содержит список Propertys, а затем наследует Factory и Store от этого класса, и я ДОЛЖЕН сделать так, чтобы они разделяли индекс, я думаю ... Должен ли я просто пропустить собственные отношения и перейти кunowned?
Я чувствую, что могу упустить что-то важное.Есть идеи?
Спасибо