java.lang.IllegalStateException:模型B2BUnitModel()尚未保留

2020-09-03 14:29发布

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

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


我有一个B2BUnitModel,它是父级的,而CartCutoffTimeModel是子级的,并且关系是一对多的。 **

  
              
                  父级B2BUnit 
                  <修饰符read =" true" write =" true" search =" true"
                      optional =" false"/>
              
              
                  购物车截止时间
                  <修饰符read =" true" write =" true" search =" true"/>
              
          

  

我从ECC中以csv格式将标题信息如下所示的数据放入热文件夹中

  HEADER b2bunitdeliveryinfo
  ;" 20:15:00";" SUN";" 07:30:00"


  

基于上面的脚本,每当数据像上面的标头信息一样出现时,我需要更新Hybris中的" CutoffTime"表。

为此,我写了

 公共类MYOwnB2BUnitModelValidateInterceptor扩展了B2BUnitModelValidateInterceptor {
      公共无效onValidate(最终对象模型,最终InterceptorContext ctx)抛出InterceptorException {
      如果(B2BUnitModel的模型实例){
      私人void updateCartCutOffTimeTable(final B2BUnitModel unit){
          最终Set  cartCutOffTimes = new HashSet <>();
          最后的CartCutoffTimeModel cartCutoffTimeModel = modelService.create(CartCutoffTimeModel.class);
          cartCutoffTimeModel.setB2bUnit(unit);
          cartCutoffTimeModel.setTime(unit.getOrderCutOffTime1());
          cartCutoffTimeModel.setDayOfTheWeek(unit.getDay());
                  unit.setCartCutoffTime(cartCutOffTimes);
      }}

  

问题1:我不会保存子对象,因为它已经变脏并离开了。 但这会引发以下异常" java.lang.IllegalStateException:模型B2BUnitModel()尚未持久"

问题2:如果我尝试使用modelService.save(b2bUnit)保存此模型,则会进入递归调用。

问题3:无论何时从HMC对该B2Bunit进行更改,它都会给出相同的例外情况

需要帮助:请提出一个可行的解决方案,将" CartCutoffTimeModel"保存到我的hybris表中。

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

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


我有一个B2BUnitModel,它是父级的,而CartCutoffTimeModel是子级的,并且关系是一对多的。 **

  
              
                  父级B2BUnit 
                  <修饰符read =" true" write =" true" search =" true"
                      optional =" false"/>
              
              
                  购物车截止时间
                  <修饰符read =" true" write =" true" search =" true"/>
              
          

  

我从ECC中以csv格式将标题信息如下所示的数据放入热文件夹中

  HEADER b2bunitdeliveryinfo
  ;" 20:15:00";" SUN";" 07:30:00"


  

基于上面的脚本,每当数据像上面的标头信息一样出现时,我需要更新Hybris中的" CutoffTime"表。

为此,我写了

 公共类MYOwnB2BUnitModelValidateInterceptor扩展了B2BUnitModelValidateInterceptor {
      公共无效onValidate(最终对象模型,最终InterceptorContext ctx)抛出InterceptorException {
      如果(B2BUnitModel的模型实例){
      私人void updateCartCutOffTimeTable(final B2BUnitModel unit){
          最终Set  cartCutOffTimes = new HashSet <>();
          最后的CartCutoffTimeModel cartCutoffTimeModel = modelService.create(CartCutoffTimeModel.class);
          cartCutoffTimeModel.setB2bUnit(unit);
          cartCutoffTimeModel.setTime(unit.getOrderCutOffTime1());
          cartCutoffTimeModel.setDayOfTheWeek(unit.getDay());
                  unit.setCartCutoffTime(cartCutOffTimes);
      }}

  

问题1:我不会保存子对象,因为它已经变脏并离开了。 但这会引发以下异常" java.lang.IllegalStateException:模型B2BUnitModel()尚未持久"

问题2:如果我尝试使用modelService.save(b2bUnit)保存此模型,则会进入递归调用。

问题3:无论何时从HMC对该B2Bunit进行更改,它都会给出相同的例外情况

需要帮助:请提出一个可行的解决方案,将" CartCutoffTimeModel"保存到我的hybris表中。

付费偷看设置
发送
3条回答
亦是此间程序员
1楼-- · 2020-09-03 14:57

嗨,

当通过集成对象odata2webservices从ECC获取b2bcustomer和b2bunit时,我也面临类似的问题。

我可以通过先保存b2bunit,然后将b2bcustomer保存在prepersisthook中来修复它。

槿木_熙
2楼-- · 2020-09-03 15:05

请尽快执行必要的操作,因为它是高优先级

风早神人
3楼-- · 2020-09-03 15:06

任何有才能的人都能帮上忙吗?

一周热门 更多>