Dynamic 无法在impex上为我在代码(hybris)上创建的作业导入

Dynamic 无法在impex上为我在代码(hybris)上创建的作业导入,dynamic,hybris,Dynamic,Hybris,我遵循了那个教程 但我没有使用字符串,而是使用customerlist参数。就像这样: <attribute qualifier="customers" type="CustomersList"> <modifiers read="true" write="true" initial="false" optional="true" partof="true"/> <persistence typ

我遵循了那个教程

但我没有使用字符串,而是使用customerlist参数。就像这样:

    <attribute qualifier="customers" type="CustomersList">
                <modifiers read="true" write="true" initial="false" optional="true" partof="true"/>
                <persistence type="jalo"/>//i changed this to  dynamic, because jalo gives error
            </attribute>
我先进口的,很成功

但第二,我应该改变,因为我不再有那个名字区域了。我把它改成了customerlist,所以我应该用另一个东西。我还尝试将其设置为空,但错误总是相同的:

,,,第2行:无法使用值创建UsersFindCronJob ItemAttributeMap[注册表:null,类型:,数据: {code=usersFindCronJob,job=usersFindJob(8796094628340)}]由于 找不到SpringBean[UsersFindCronJob\u CustomerAttributeHandler] 为来自的动态属性[UsersFindCronJob.customers]配置 扩展[trainingcore],第3行:无法使用创建UsersFindCronJob 值ItemAttributeMap[注册表:null,类型:,数据: {code=usersFindCronJob,job=usersFindJob(8796094628340)}]由于 找不到SpringBean[UsersFindCronJob\u CustomerAttributeHandler] 为来自的动态属性[UsersFindCronJob.customers]配置 扩展[培训核心];usersFindCronJob;用户findjob;邹汉

出现以下错误的导入示例:

INSERT_UPDATE UsersFindCronJob;code[unique=true];job(code);customers
;usersFindCronJob;usersFindJob;testcustomerbutthisisnotcustomerthisisstring

我该怎么办?

如果持久性类型是动态的:

<persistence type="dynamic"/>

然后,您需要创建一个Springbean,它应该负责根据其他持久属性计算动态值

动态属性的一个示例可以是客户的全名,这 可以通过如下方式连接计算:firstname+lastname,其中firstnamelastname是存储在数据库中的两个属性(persistence type=“property”)

如果您希望将属性存储在数据库中(我相信已经指出了这一点),则应将持久性类型设置为property,而不是dynamic:

<persistence type="property"/>

不推荐使用CollectionType。喜欢关系

<relations>
    <relation code="UsersFindCronJob2CustomerRelation" localized="false" >
        <sourceElement type="UsersFindCronJob" cardinality="many" qualifier="usersFindCronJob" />
        <targetElement type="Customer" cardinality="many" qualifier="customer" />
    </relation>
</relations>

您能否提供更多关于您正在创建的cronjob应该做什么的信息,以及为什么cronjob需要有一个客户列表?当我转到backoffice时,我可以使用字符串进行搜索,而作业正在检索具有该名称的客户。就像在教程中一样。但现在,我想在backoffice上选择客户(我是以单选的方式进行的,当我将其设置为customer而不是string时,我可以在backoffice上设置customer,而job正在检索它)。现在我必须把它列为清单或收藏。我不想要关系。收藏更容易,我不需要关系作为旁注,您应该更喜欢来自hybris的官方教程,它们是最新的:。链接的一个已经过时,不能反映最新的良好实践。错误也很明显:找不到为动态属性配置的SpringBean[UsersFindCronJob\u CustomerAttributeHandler][UsersFindCronJob.customers…您在items.xml中为customers属性定义了
,但未定义bean。我也尝试过。尽管intelj给出了错误
集合,但集合仅定义了jalo或dynamic
,但仍然相同。我还将
optional=“true”
和已删除的
部分错误是
,因为无法从扩展[trainingcore]中找到为动态属性[UsersFindCronJob.customers]配置的SpringBean[UsersFindCronJob\u CustomerAttributeHandler],第3行:无法创建值为ItemAttributeMap[注册表:null,类型:,数据:{code=usersFindCronJob,customer=Zohan,job=usersFindJob(8796094628340)}]由于找不到Springbean[usersFindCronJob\u customersAttributeHandler]
当我设置属性时,inteljgives出错,但antcleanall或hybrisserverbat没有。但import impex仍会出错。当我尝试导入到作业时也会出现同样的错误。我是否应该让ant更新系统?是的,在更改${extensionName}后,您应该每次都执行平台更新-通过这种方式,与cronjob关联的DB表将使用新字段进行更新,您可以从hac(localhost:9002/hac)进行更新->Platform->Update并确保在启动更新之前检查运行更新的系统。我创建了ant updatesystem,但尽管创建了属性,它仍然显示为dynamic。
UsersFindCronJob,值为ItemAttributeMap[注册表:null,类型:,数据:{code=UsersFindCronJob,customer=Zoha,job=usersFindJob(8796094628340)}]由于无法从扩展[trainingcore]中找到为动态属性[UsersFindCronJob.customers]配置的spring bean[UsersFindCronJob\u CustomerAttributeHandler],第3行:无法创建值为ItemAttributeMap[registry:null,type:,data:{code=usersFindCronJo
` collectiontype来自默认的hybris zip。我没有使用它。我只在有其他集合的地方添加了一行
<persistence type="property"/>
<relations>
    <relation code="UsersFindCronJob2CustomerRelation" localized="false" >
        <sourceElement type="UsersFindCronJob" cardinality="many" qualifier="usersFindCronJob" />
        <targetElement type="Customer" cardinality="many" qualifier="customer" />
    </relation>
</relations>
INSERT_UPDATE UsersFindCronJob;code[unique=true];job(code);customer(uid)
;usersFindCronJob;usersFindJob;myCustomerUid1, myCustomerUid2, myCustomerUid3