我从其他来源提取产品和类别。我想坚持他们在宽阔的数据库。我不想要自动生成的ID。我想坚持id来源(我从哪里获取产品等)到broadleaf数据库。坚持在阔叶数据库产品
对于我创建我的自定义控制器:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/admin/admin-custom-controllers
我写的产品和类别中坚持myController的代码。
我曾尝试下面的代码:
我得到以下堆栈跟踪:
Caused by: org.postgresql.util.PSQLException: ERROR: insert or update on table "blc_sku" violates foreign key constraint "fk28e82cf77e555d75"
Detail: Key (default_product_id)=(453530) is not present in table "blc_product".
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2182)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1911)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:173)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:645)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:495)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:441)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
如果我删除以下片断,然后它给我空指针,因为需要设置默认的SKU产品目标。
Sku newSku = catalogService.createSku();
Long skuId = new Long(453520);
newSku.setId(skuId);
p.setDefaultSku(newSku);
p.getDefaultSku().setDefaultProduct(p);
请帮助我在broadleaf数据库中持续使用给定id(不是自动生成)的产品。
谢谢,externalId在我的情况下工作。 –
Broadleaf提供任何可以从CSV文件或其他文件合成器导入数据的功能? –