通过使用ModelService无法更新以前的数据。

2020-09-29 20:21发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用ModelService的save()方法将数据保存在itemType中。 但是我无法更新该特定行的数据。 我想使用ModelService更新行。 我的代码中是否缺少任何键:

最终字符串查询="从{user}中选择{pk},{name}"; 最终SearchResult搜索= flexibleSearchService.search(query); 最终列表userModel = search.getResult();

 最终字符串query1 ="从{Order}中选择{pk}";
      最终SearchResult  search1 = flexibleSearchService.search(query1);
      最终List  orderModel = search1.getResult();


      用于(最终UserModel userModel2:userModel)
      {
          int orderCount = 0;
          int loyaltyPoints = 0;
          最后的日历c = Calendar.getInstance();

          用于(最终OrderModel orderModel2:orderModel)
          {
              最终日期creationTime = orderModel2.getCreationtime();
              c.setTime(creationTime);
              c.add(Calendar.YEAR,1);
              最终日期expiryDate = c.getTime();

              如果(userModel2.getPk()。equals(orderModel2.getUser()。getPk()))
              {
                  orderCount = orderCount + 1;
                  忠诚度积分= orderCount * 1;

                  最终的LoyaltyModel loyaltyModel = new LoyaltyModel();

                  final String query2 ="从{忠诚度}中选择{pk},其中{user} ='" + orderModel2.getUser()。getName()+"'";
                  最终SearchResult  search2 = flexibleSearchService.search(query2);
                  最终List  loyaltyModel1 = search2.getResult();

                  for(最终迭代器迭代器= loyaltyModel1.iterator(); iterator.hasNext();)
                  {
                      final LoyaltyModel loyaltyModel2 =(LoyaltyModel)iterator.next();

                      如果(!loyaltyModel2.getUser()。equals(orderModel2.getUser()。getName()))
                      {
                          loyaltyModel.setUser(orderModel2.getUser()。getName());
                          loyaltyModel.setLoyaltyNumber(userModel2.hashCode());
                          loyaltyModel.setLoyaltyPoints(loyaltyPoints);
                          loyaltyModel.setExpiryDate(expiryDate);

                          modelService.save(loyaltyModel);

                      }
                  }
              }
          }
      }
  

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用ModelService的save()方法将数据保存在itemType中。 但是我无法更新该特定行的数据。 我想使用ModelService更新行。 我的代码中是否缺少任何键:

最终字符串查询="从{user}中选择{pk},{name}"; 最终SearchResult搜索= flexibleSearchService.search(query); 最终列表userModel = search.getResult();

 最终字符串query1 ="从{Order}中选择{pk}";
      最终SearchResult  search1 = flexibleSearchService.search(query1);
      最终List  orderModel = search1.getResult();


      用于(最终UserModel userModel2:userModel)
      {
          int orderCount = 0;
          int loyaltyPoints = 0;
          最后的日历c = Calendar.getInstance();

          用于(最终OrderModel orderModel2:orderModel)
          {
              最终日期creationTime = orderModel2.getCreationtime();
              c.setTime(creationTime);
              c.add(Calendar.YEAR,1);
              最终日期expiryDate = c.getTime();

              如果(userModel2.getPk()。equals(orderModel2.getUser()。getPk()))
              {
                  orderCount = orderCount + 1;
                  忠诚度积分= orderCount * 1;

                  最终的LoyaltyModel loyaltyModel = new LoyaltyModel();

                  final String query2 ="从{忠诚度}中选择{pk},其中{user} ='" + orderModel2.getUser()。getName()+"'";
                  最终SearchResult  search2 = flexibleSearchService.search(query2);
                  最终List  loyaltyModel1 = search2.getResult();

                  for(最终迭代器迭代器= loyaltyModel1.iterator(); iterator.hasNext();)
                  {
                      final LoyaltyModel loyaltyModel2 =(LoyaltyModel)iterator.next();

                      如果(!loyaltyModel2.getUser()。equals(orderModel2.getUser()。getName()))
                      {
                          loyaltyModel.setUser(orderModel2.getUser()。getName());
                          loyaltyModel.setLoyaltyNumber(userModel2.hashCode());
                          loyaltyModel.setLoyaltyPoints(loyaltyPoints);
                          loyaltyModel.setExpiryDate(expiryDate);

                          modelService.save(loyaltyModel);

                      }
                  }
              }
          }
      }
  
付费偷看设置
发送
4条回答
粗暴的香蕉
1楼-- · 2020-09-29 21:16

如果始终使用行

创建LoyaltyModel的新实例,该如何更新呢?

最终LoyaltyModel loyaltyModel = new LoyaltyModel();

,然后通过调用modelService.save(loyaltyModel);在数据库中创建相应的记录。

为了更新现有记录,您必须对绑定到持久性上下文的LoyaltyModel实例进行操作,即对loyaltyModel2变量进行操作。

spaceman01
2楼-- · 2020-09-29 21:13

您可以显示全部图片吗? CustomUserModel的实例应更新?

奄奄一息的小鱼
3楼-- · 2020-09-29 21:19

是的,您可以看到我的代码,我已经编辑了问题。

吹牛啤
4楼-- · 2020-09-29 21:19

可以用pk代替setUser中的名称吗?

一周热门 更多>