Я пытаюсь сохранить список встроенных объектов в GAE / JDO. Я получаю исключение Datanucleus:
Поле "Product.shippingOptions" имеет тип "java.util.List", но было указано как встроенное. DataNucleus не поддерживает встраивание этого типа. Ваш встроенный тип должен быть PersistenceCapable.
Вот упрощенная версия моих занятий:
@PersistenceCapable(identityType=IdentityType.APPLICATION, detachable="true")
public class Product
{
@PrimaryKey
@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long id;
@Persistent(defaultFetchGroup = "true")
@Embedded
private List<ShippingOption> shippingOptions;
}
@PersistenceCapable
@EmbeddedOnly
public class ShippingOption
{
@Persistent
private String shippingType;
@Persistent
private int price;
@Persistent
private String currency;
}
Я не хочу использовать отдельную таблицу / вид для хранения параметров доставки для каждого продукта, потому что параметр доставки также должен быть сохранен с объектом Order при его создании.
Есть ли способ сохранить список дочерних объектов в GAE / JDO? Если нет, каков «правильный» способ моделирования этих данных в GAE / JDO?