0
在数据库中保存类似数据的映射我不知道如何设计此rdbms问题:如何使用JPA
比方说,我有一个正在进行购买的客户。通过购买他离开他的数据。我有第二个包含真实客户数据的数据集。收集数据后,我想通过算法找到收集的客户数据到真实客户的映射。
目前仍不清楚如何保存此算法创建的映射/这些链接。
建议:
@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列表。
我想这不是最好的主意?
希望能给你提供很好的建议。我可以利用真实客户数据和获取客户数据的相似性。
请注意,我想保留不一致的数据,例如即使城市是相似的('华盛顿特区'和'华盛顿'),我不想丢失这个信息,我可以再次运行匹配算法
注意:我没事,如果你提供给我粗略的想法。的Java/JPA的代码没有必要的。
非常感谢你提前!
所以是很容易(和有效),然后找出,哪个购买'真实顾客'? 一试: SELECT c.purchase FROM customer c WHERE c.realCustomer.id =(SELECT d.id FROM customer d WHERE d.name ='xxx') 不是更有效率,如果我将这两种类型存储在不同的表? – user1141785 2012-08-15 18:59:36
您可以简单地在现有实体中添加一个标志,以确定其是否为真实的, isReal,它会解决你提到的问题。基本的想法仍然保持不变 – 2012-08-15 19:05:38