Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 海布里斯-雷德克莱尔关系_Java_Hybris - Fatal编程技术网

Java 海布里斯-雷德克莱尔关系

Java 海布里斯-雷德克莱尔关系,java,hybris,Java,Hybris,我试图在Product2组件之间建立一种关系 <relation code="Product2Components" localized="false" autocreate="true"> <deployment table="ProdsCompRels" typecode="30008" /> <sourceElement qualifier="product" type="Product" cardinality="one" collectio

我试图在Product2组件之间建立一种关系

<relation code="Product2Components" localized="false" autocreate="true">
    <deployment table="ProdsCompRels" typecode="30008" />
    <sourceElement qualifier="product" type="Product" cardinality="one" collectiontype="list">
        <modifiers read="true" write="true" search="true" optional="true" />
    </sourceElement>

    <targetElement qualifier="components" type="SimpleCMSComponent" cardinality="many">
        <modifiers read="true" write="true" search="true" optional="true" />
    </targetElement>
</relation>

我怎样才能重新申报关系?或者我应该在这里做什么?

因为OOTBProductDetailComponent扩展了SimpleCMComponent并且您想要使用SimpleCMComponent,所以我想您可以简单地使用OOTB关系

但是,如果您真的想取消您自己的属性/关系,那么您必须提供一个不同于“product”的限定符,因为产品限定符已经在OOTB relationship
ProductDetailComponents forProduct
中使用,其中ProductDetailComponent是SimpleCMComponent的子类型

<relation code="Product2Components" localized="false" autocreate="true">
    <deployment table="ProdsCompRels" typecode="30008" />
    <sourceElement qualifier="productRef" type="Product" cardinality="one" collectiontype="list">
        <modifiers read="true" write="true" search="true" optional="true" />
    </sourceElement>

    <targetElement qualifier="components" type="SimpleCMSComponent" cardinality="many">
        <modifiers read="true" write="true" search="true" optional="true" />
    </targetElement>
</relation>


这应该不是问题。
User2ContactInfos
User2Carts
关系都有限定符
user
@FarrukhChishti在您的情况下,
ContactInfos
Carts
是不同的项目类型,因此它可以工作。但在OP案例中,他试图声明已在sub-itemtype(ProductDetailComponent)关系中声明的同一限定符“product”,因此当您试图在父项类型关系中再次声明它时,您将得到错误
duplicates继承属性SimpleCMComponent.product(product)
Attribute CmsLinkComponent.product(Product):((cms2))::YAttributeDescriptor[cms2-items.xml:190(RelationTypeTagListener)][JALO] duplicates inherited attribute SimpleCMSComponent.product(Product):((puigcore))::YAttributeDescriptor[puigcore-items.xml:488(RelationTypeTagListener)][JALO]. Remove it or specify it as redeclared
<relation code="Product2Components" localized="false" autocreate="true">
    <deployment table="ProdsCompRels" typecode="30008" />
    <sourceElement qualifier="productRef" type="Product" cardinality="one" collectiontype="list">
        <modifiers read="true" write="true" search="true" optional="true" />
    </sourceElement>

    <targetElement qualifier="components" type="SimpleCMSComponent" cardinality="many">
        <modifiers read="true" write="true" search="true" optional="true" />
    </targetElement>
</relation>