【问题标题】:Efficient way to merge two DB backed entities Hibernate合并两个数据库支持的实体 Hibernate 的有效方法
【发布时间】:2013-12-23 17:49:14
【问题描述】:

如果之前已经回答了同样的问题,请给我链接。这是我的问题的详细信息。 我在数据库中有一个具有以下结构的 ShoppingCart 对象

ShoppingCart{

 Set<ShoppingCartItem> lineItems 

}

ShoppingCartItem{
Set<ShoppingCartAttributeItem> attributes 
}

ShoppingCartAttributeItem{
// attributes
}

以上所有实体都是我的 Hibernate 应用程序中的数据库支持条目。我需要在给定条件下合并 ShoppingCart 的 2 个不同实例

  1. 用户将一些产品添加到他的购物车。
  2. 添加产品后,用户决定登录系统

有些情况下,用户已经有一个ShoppingCart,所以当他登录到系统时。我需要将他的ShoppingCart 与当前会话购物车合并。

我可以从数据库中获取ShoppingCart

  1. 获取与当前登录用户关联的购物车。
  2. 在登录前获取与用户关联的ShoppingCart

简而言之,我需要合并两个 ShoppingCart 的 lineItems。我不确定如何才能做到最好? 有没有什么有效的方法来合并那些lineItems 或者我需要一个一个地创建它们。?

【问题讨论】:

    标签: hibernate jpa jpa-2.0


    【解决方案1】:

    考虑到购物车中的物品数量,我不会太担心效率。循环复制项目通常没有什么问题。

    虽然可以提出某种形式的 UPDATE 语句来执行合并,但它可能只会带来不必要的复杂性。 (实际上,无论如何你都会添加更多的逻辑,比如消除重复......)

    【讨论】:

      猜你喜欢
      • 2015-04-24
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 2012-04-15
      • 2016-03-04
      • 2013-02-07
      • 2014-03-06
      相关资源
      最近更新 更多