如何使用EnumType声明属性

时间:2017-05-19 00:27:51

标签: hybris

在我的itemtype中,我需要使用EnumType声明attribut。但它给出了如下错误

  hybris\bin\platform\resources\ant\antmacros.xml:795:
  java.lang.ClassCastException: de.hybris.bootstrap.typesystem.YEnumType 
  cannot be cast to    de.hybris.bootstrap.typesystem.YCollectionType

这是我如何声明

<attribute qualifier="aaa" type="EnumType" autocreate="true" generate="true">
    <persistence qualifier="bbbl" type="property" />
    <modifiers  read="true" write="true" search="true" removable="true" 
     optional="true" />
     <description>aaa</description>
</attribute>

如何跳过该错误?

1 个答案:

答案 0 :(得分:2)

你是否真的在enumtypes部分创建了EnumType?尝试这样的事情:

<enumtypes>
    <enumtype code="MyEnumType" autocreate="true" generate="true" dynamic="false">
        <value code="SOMETHING"/>
    </enumtype>
</enumtypes>

<attribute qualifier="aaa" type="MyEnumType" autocreate="true" generate="true">
    <persistence  type="property" />
    <modifiers  read="true" write="true" search="true" removable="true" 
     optional="true" />
     <description>aaa</description>
</attribute>

这是正确的方法。首先定义枚举类型,然后将其用作普通类型。