Broadleaf Commerce 3.1.0 дает ошибку

Мы используем BroadleafCommerce 3.1.0. До этого мы используем 3.0.13. Все работало нормально в 3.0.13. Мы внесли все необходимые изменения в соответствии с примечаниями по миграции, представленными на веб-сайте BLC. Сделав все, мы можем скомпилировать WorkSpace. Развертывание также прошло успешно. При вызове MyCompany And Admin мы получаем следующую ошибку:

   ==============================================>MYCOMPANY
            java.lang.NullPointerException
                    at org.broadleafcommerce.common.web.BroadleafRequestCustomerResolverImpl.setCustomer(BroadleafRequestCustomerResolverImpl.java:62)
                    at org.broadleafcommerce.profile.web.core.CustomerState.setCustomer(CustomerState.java:52)
                    at org.broadleafcommerce.profile.web.core.security.CustomerStateRequestProcessor.process(CustomerStateRequestProcessor.java:134)
                    at org.broadleafcommerce.profile.web.core.security.CustomerStateFilter.doFilter(CustomerStateFilter.java:55)
                    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
           .......

        ======================================>ADMIN

         Error while inserting fetched product id:12357968
        org.springframework.dao.DataIntegrityViolationException: Cannot add or update a child row: a foreign key constraint fails (`broadleaf`.`blc_product`, CONSTRAINT `FK5B95B7C96D386535` FOREIGN KEY (`DEFAULT_SKU_ID`) REFERENCES `blc_sku` (`SKU_ID`)); SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`broadleaf`.`blc_product`, CONSTRAINT `FK5B95B7C96D386535` FOREIGN KEY (`DEFAULT_SKU_ID`) REFERENCES `blc_sku` (`SKU_ID`))
            at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:643)
            at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:105)
            at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:517)
            at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:755)
            at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:724)
            at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:475)
            at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:270)
            at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
            at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
            at com.sun.proxy.$Proxy161.saveSku(Unknown Source)

        Caused by: org.hibernate.exception.ConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`broadleaf`.`blc_product`, CONSTRAINT `FK5B95B7C96D386535` FOREIGN KEY (`DEFAULT_SKU_ID`) REFERENCES `blc_sku` (`SKU_ID`))
            at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:74)
            at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
            at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
            at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)
            at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129)
            at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
            at com.sun.proxy.$Proxy447.executeUpdate(Unknown Source)
            at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:56)
            at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3028)
            at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3469)
            at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)
            at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362)
            at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354)
            at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:275)
            at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326)
            at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
            at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1213)
            at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:402)
            at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
            at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)
            at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:75)
            at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:513)
            ... 109 more

1 ответ

Для проблемы администратора удалите ограничение из таблицы blc_product для default_sku_id. Я проверил, что в 3.1 это ограничение больше не создается как часть установки.

Что касается проблемы с сайтом, дважды проверьте ваши web.xml и applicationContext.xml в сравнении с новой демо-версией 3.1, чтобы увидеть, можете ли вы обнаружить какие-либо различия. Если вы можете воссоздать с чистой демо-версией 3.1, откройте проблему в GitHub. В противном случае вы можете попытаться добавить точки останова в своем коде и в аналогичных местах в чистой демонстрационной версии 3.1, чтобы увидеть, сможете ли вы определить разницу.

Изменить: Проблема сайта отслеживается отдельно здесь: Ошибка при отправке запроса MyCompany в Broadleaf Commerce

Брайан, Отказ от ответственности: я работаю в Broadleaf Commerce

Другие вопросы по тегам