1
我想在GAE/JDO中存儲一個嵌入對象列表。我得到一個Datanucleus異常:如何在GAE-JDO中存儲@Embedded對象列表?
字段「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中對這些數據建模的「正確」方式是什麼?
是的,我期望可嵌入對象的集合被存儲在所有者的表中。我如何使用@Serialized?我是否需要序列化子對象列表並將其作爲Blob存儲在所有者表中? – KenSV
不好意思的人downvote我的答案。也許他們也可以指出他們這個答案雖然是一個這樣的問題,然後我可以試圖糾正它,只是一個想法。或者也許有人在這裏有一個隱藏的議程?可能爲Oracle工作? – DataNucleus