Ios 核心数据-如何实现像Java JPA@Embedded和@EntifyCollection这样的子对象

Ios 核心数据-如何实现像Java JPA@Embedded和@EntifyCollection这样的子对象,ios,core-data,jpa-2.0,Ios,Core Data,Jpa 2.0,我在Java服务器端有一个相当常见的场景,其中我有一个Listing对象,它包含一个嵌入式ReturingPolicy对象以及另一个嵌入式@EntityCollection装运对象。下面是课堂:- @Entity; public class Listing { @Id int id; @Embedded private ReturnPolicy returnPolicy; @ElementCollection private List<

我在Java服务器端有一个相当常见的场景,其中我有一个Listing对象,它包含一个嵌入式ReturingPolicy对象以及另一个嵌入式@EntityCollection装运对象。下面是课堂:-

@Entity;
 public class Listing {
    @Id
    int id;

    @Embedded
    private ReturnPolicy returnPolicy;

    @ElementCollection
    private List<ShippingOption> shippingOptions;

}

@Embeddable
public class ReturnPolicy {
    private String details;
}

@Embeddable
public class Shipping {
    private String address;
}
@实体;
公共类列表{
@身份证
int-id;
@嵌入
私人回归政策;
@元素集合
私有列表发货选项;
}
@可嵌入
公营班级政策{
私有字符串详细信息;
}
@可嵌入
公舱航运{
私有字符串地址;
}

我必须在iOS核心数据端建立同样的模型。问题是ReturnPolicy和Shipping对象没有ID,因为它们分别是嵌入式对象和嵌入式集合。这是一个设计问题,我不知道核心数据是否支持这一点。关于如何在iOS核心数据中设计它有什么想法吗?

您是否在问核心数据是否支持对其他核心数据对象和一对多关系的引用?核心数据
列表
实体类型可以直接引用相关
ReturnPolicy
Shipping
实体类型的实例。这听起来像你所描述的,但我不知道这是否“就像”Java的工作方式。基本上,ReturnPolicy和Shipping对象没有任何唯一标识符或ID,因为这些对象作为Java服务器端列表对象的一部分被持久化。例如,ReturnPolicy的字段(即详细信息)将作为列表的一部分保留。但是该集合将被持久化到具有列表id的列表_Shipping table中,而Shipping object没有任何id。这就是为什么我不确定如何在客户端对此进行建模,因为这些嵌入对象将没有ID或PK。这些数据是您将要传输到/从服务器传输的吗?如果是这样,数据在传输过程中是什么样子的?某种JSON?下面是示例JSON。请注意,嵌入的对象没有ID。“清单”:{“id”:1,“发货选项”:[{“地址”:“NJ”},{“地址”:“NY”}],“退货政策”:{“详细信息”:“退货已接受”}