Hybris数据建模:自定义属性

时间:2018-04-05 02:23:45

标签: hybris

我试图了解hybris数据建模中的自定义属性; 任何人都可以分享有用的链接或信息吗?

3 个答案:

答案 0 :(得分:0)

我希望您想了解

<custom-properties>
    <property name="catalogItemType">
        <value>java.lang.Boolean.TRUE</value>
    </property>
    <property name="catalogVersionAttributeQualifier">
        <value>"catalogVersion"</value>
    </property>
    <property name="uniqueKeyAttributeQualifier">
        <value>"code"</value>
    </property>
</custom-properties>

这些<custom-properties>用于将ItemType定义为目录感知。与产品类型一样。

有关详细信息,请参阅helphybris帖子

答案 1 :(得分:0)

项属性定义项的状态。它们实际上是由于平台构建和更新过程而创建的db表的列(动态属性除外)。

自定义属性是某些定义的属性,这些类型在类型系统定义中用于定义类型的某些属性。通常,如果您解释类型系统的元数据,则可以读取属性以实现所需的行为。它们可以在各个级别进行定义

  1. 在项目类型级别-自定义属性用于定义类型的属性。例如

openRows

这些属性在类型级别定义-这些属性在类型级别提供目录意识。这些属性可以在运行时通过getProperty(String propertyName)方法检索这些项目类型属性。还有其他示例。

  1. 相关级别,请参见下面的代码段

<custom-properties>
        <property name="catalogItemType">               
         <value>java.lang.Boolean.TRUE</value>
        </property>
        <property name="catalogVersionAttributeQualifier">
         <value>"catalogVersion"</value></property>
        <property name="uniqueKeyAttributeQualifier">
         <value>"id"</value>
        </property>
    </custom-properties>

该属性包含一个字符串,该字符串随后会添加到为一对多或多对一关系生成的选择查询的“ where”部分。

  1. 订购属性-通过定义ordering.attribute,可以指定从数据库中检索时将使用哪个属性对多面商品进行订购

<relation code="User2Addresses" generate="true" localized="false" autocreate="true">
    <sourceElement type="User" cardinality="one" qualifier="owner">
        <modifiers read="true" write="true" search="true" optional="true" initial="false"/>
    </sourceElement>
    <targetElement type="Address" cardinality="many" qualifier="addresses">
        <modifiers read="true" write="true" search="true" optional="true" partof="true"/>
        <custom-properties>
            <property name="condition.query">
                <value>"{original} is null"</value>
            </property>
        </custom-properties>
    </targetElement>
</relation>

  1. 后台办公自定义属性-后台办公将允许显示任何类型的所有属性(开箱即用),尽管如此,仍有一些特殊的(例如技术方面的)属性在UI中绝对不可见或至少应为只读在用户界面中(无论他们具有什么访问权限)。对于那些非常罕见的情况,hybris引入了两个自定义属性,我们在扫描类型系统时会对其进行解释

<relation code="AbstractOrder2AbstractOrderEntry" localized="false" generate="true" autocreate="true">
	<sourceElement type="AbstractOrder" qualifier="order" cardinality="one">
		<modifiers read="true" write="true" search="true" optional="true" />
				<custom-properties>
					<property name="ordering.attribute">
						<value>"entryNumber"</value>
					</property>
				</custom-properties>
			</sourceElement>
<targetElement type="AbstractOrderEntry" qualifier="entries" cardinality="many" collectiontype="list" ordered="false" >
		<modifiers read="true" write="true" search="true" optional="true" partof="true" />
</targetElement>
		</relation>

希望这会有所帮助!

答案 2 :(得分:-1)

在Hybris帮助中查看The Type System,在Hybris123部分查看Data Models

模型是在 extensionname -items.xml中的每个扩展名中定义的,并在构建过程中生成。

为了使模型更新能够反映在您的实例的类型系统中,请在HAC&gt;中运行系统更新。平台&gt;更新。有关详细信息,另请参阅Initializing and Updating SAP Hybris Commerce