Deployment Hybris自定义表每次都被覆盖

Deployment Hybris自定义表每次都被覆盖,deployment,hybris,Deployment,Hybris,我已在自定义扩展中定义了自定义项类型。它使用默认的hsqldb。它应该为每个订单保存所有与事务相关的元数据。但是,每次我从storefront下订单时,它都会替换以前存储的数据,因此最后,表中只剩下一行数据。 我尝试在hybris wiki中查找,但找不到需要为此设置的任何属性 这是扩展名的item.xml文件中的项类型定义 <itemtype code="PaymetricITransHeaderObject2" extends="GenericItem"

我已在自定义扩展中定义了自定义项类型。它使用默认的hsqldb。它应该为每个订单保存所有与事务相关的元数据。但是,每次我从storefront下订单时,它都会替换以前存储的数据,因此最后,表中只剩下一行数据。 我尝试在hybris wiki中查找,但找不到需要为此设置的任何属性

这是扩展名的item.xml文件中的项类型定义

<itemtype code="PaymetricITransHeaderObject2"
              extends="GenericItem"
              autocreate="true"
              generate="true">

        <deployment table="ITransPayLoadTable2" typecode="11011"/>

        <attributes>
             <attribute qualifier="trans_id" type="java.lang.String">
             <modifiers read="true" write="true" search="true" optional="false" unique="true"/>
             <persistence type="property" />
             </attribute>
             <attribute autocreate="true" qualifier="payload" type="java.lang.String">
                <modifiers read="true" write="true" search="true" optional="false"/>
                <persistence type="property">
                <columntype>
                        <value>varchar(8K)</value>
                </columntype>
                </persistence>
            </attribute>

        </attributes>
    </itemtype>
感谢您的推荐
我使用的是Hybris 6.4版本

谢谢


查看生成唯一编号的步骤

local.properties

keygen.serialNumber.code.name=serial_number_code
keygen.serialNumber.code.digits=10
keygen.serialNumber.code.start=7000000000
keygen.serialNumber.code.type=numeric
keygen.serialNumber.code.template=$
*spring.xml

<bean id="serialNumberCodeGenerator" class="de.hybris.platform.servicelayer.keygenerator.impl.PersistentKeyGenerator">
    <property name="key" value="${keygen.serialNumber.code.name}"/>
    <property name="digits" value="${keygen.serialNumber.code.digits}"/>
    <property name="start" value="${keygen.serialNumber.code.start}"/>
    <property name="type" value="${keygen.serialNumber.code.type}"/>
    <property name="template" value="${keygen.serialNumber.code.template}"/>
</bean>

@我很高兴,这对你有帮助。究竟是什么导致了问题,以及您如何解决问题。
 iTransactionHeaderObj.setTrans_id(transGenerator.generate().toString());
keygen.serialNumber.code.name=serial_number_code
keygen.serialNumber.code.digits=10
keygen.serialNumber.code.start=7000000000
keygen.serialNumber.code.type=numeric
keygen.serialNumber.code.template=$
<bean id="serialNumberCodeGenerator" class="de.hybris.platform.servicelayer.keygenerator.impl.PersistentKeyGenerator">
    <property name="key" value="${keygen.serialNumber.code.name}"/>
    <property name="digits" value="${keygen.serialNumber.code.digits}"/>
    <property name="start" value="${keygen.serialNumber.code.start}"/>
    <property name="type" value="${keygen.serialNumber.code.type}"/>
    <property name="template" value="${keygen.serialNumber.code.template}"/>
</bean>
@Resource
private KeyGenerator serialNumberCodeGenerator;

String serialNumber = serialNumberCodeGenerator.generate().toString();