[Impex] &ref not working when updated in between
bnussbau opened this issue · 1 comments
bnussbau commented
<type name="Product" package="at.benjaminnussbaum.spotbudget.types.itemtypes.product">
<properties>
<property name="brand" type="String">
<description></description>
</property>
<property name="name" type="String">
<description></description>
</property>
<property name="fullName" type="String">
<description></description>
</property>
<property name="productDescription" type="String">
<description></description>
</property>
<property name="receiptText" type="String">
<description></description>
</property>
<property name="category" type="String">
<description></description>
</property>
<property name="pictureUrl" type="String">
<description></description>
</property>
<property name="sparProductCode" type="String">
<description></description>
</property>
</properties>
</type>
<type name="Ean13Product" package="at.benjaminnussbaum.spotbudget.types.itemtypes.product" extends="EanProduct">
<properties>
<property name="ean13code" type="String" unique="true">
<description>EAN / EAN-13 barcode</description>
</property>
<property name="variableEan" type="Boolean" default="false">
<description></description>
</property>
<property name="variableEanDigits" type="Integer">
<description></description>
</property>
</properties>
</type>
<type name="PriceRow" package="at.benjaminnussbaum.spotbudget.types.itemtypes.product.price">
<properties>
<property name="amount" type="Double">
<description></description>
</property>
<property name="date" type="LocalDateTime">
<description>Tansaction date</description>
</property>
<property name="currency" type="Currency">
<description>Transaction amount</description>
</property>
<property name="provider" type="PriceProviderType">
<description></description>
</property>
</properties>
</type>
<relation name="Product2PriceRow">
<source itemType="Product" mappedBy="product" cardinality="one">
<description></description>
</source>
<target itemType="PriceRow" mappedBy="priceRows" cardinality="many">
<description></description>
</target>
</relation>
INSERT_UPDATE Ean13Product; ean13code[unique = true]; receiptText ; &ref
; 9100000709444 ; SBUDGET KUECHENROLLE ; 9100000709444
UPDATE Ean13Product; ean13code[unique = true]; receiptText ; sparProductCode;
; 9100000709444 ; SBUDGET KUECHENROLLE ; 2020000926726
INSERT_UPDATE PriceRow; product(&ref) ; amount;
; 9100000709444 ; 2.19 ;
Caused by: org.springframework.transaction.TransactionUsageException: Error during transactional execution.; nested exception is io.spotnext.core.infrastructure.exception.ImpexImportException: Could not import item of type at.benjaminnussbaum.spotbudget.types.itemtypes.product.price.PriceRow (Found more than 1 result for the given search parameters). Line that caused this error: , 9100000709444, 2.19,
at io.spotnext.core.persistence.service.impl.DefaultTransactionService.execute(DefaultTransactionService.java:94)
at io.spotnext.core.persistence.service.impl.DefaultTransactionService.executeWithoutResult(DefaultTransactionService.java:110)
at io.spotnext.core.infrastructure.strategy.impl.DefaultImpexImportStrategy.importImpex(DefaultImpexImportStrategy.java:129)
at io.spotnext.core.infrastructure.service.impl.DefaultImportService.importItems(DefaultImportService.java:39)
at io.spotnext.core.infrastructure.support.init.ModuleInit.importScript(ModuleInit.java:177)
at at.benjaminnussbaum.spotbudget.Init.importSampleData(Init.java:29)
Without the UPDATE line, it works.
Is that something that should be considered?
mojo2012 commented
Fixed. todo for me: add an integrationtest