0

我不知道如何设计这个 rdbms 问题:

假设我有一个客户,他正在购买。通过购买,他留下了他的数据。我有第二个包含真实客户数据的数据集。收集数据后,我想通过算法找到收集到的客户数据到真实客户的映射。

目前还不清楚如何保存这个映射/算法创建的这些链接。

提议:

@Entity
public class Purchase{
    @OneToOne
    private Customerdata customerData;
}

@Entity
public class CustomerData{
    private String firstName;
    private String Lastname;
    private String city;
}

@Entity
public class RealCustomer{

    @OneToMany(cascade=CascadeType.ALL, mappedBy ="RealCustomer")
    private List<CustomerData> customerData = new ArrayList<CustomerData>();
    private String firstName;
    private String Lastname;
    private String city;
}

现在我可以保存我假设的从 RealCustomer 数据到 customerData 列表中的客户数据的映射。

我想这不是最好的主意?

期待你的好建议。我可以利用真实客户数据和获取者客户数据的相似性吗?

请注意,我想保留不一致的数据,例如即使城市相似('Washington DC' 和'Washington'。我不想丢失这些信息,我可以稍后再次运行匹配算法。

注意:我很好,如果你给我一个粗略的想法。不需要 Java/JPA 代码。

非常感谢您!

4

1 回答 1

1

您可以执行以下操作

@Entity
public class Purchase{
@OneToOne
private Customer customer;
}

@Entity
public class Customer{
private String firstName;
private String Lastname;
private String city;
//Below association will only come in picture if customer has real customer data       available when you are collecting the data this way you can clearly identify and separate collected vs real customers
@OneToOne
Customer realCustomer;
}
于 2012-08-15T16:43:32.250 回答