Liferay 7.3 java.lang.NullPointerException после переноса с 7.2

Делаю портирование с Liferay 7.2 на Liferay 7.3.6 GA7. У меня есть customTable. Когда я добавляю первую строку с помощью ..LocalServiceUtil, все в порядке. Но каждый раз, когда я использую настойчивость (например, tablePersistence.update (table);) терпит неудачу и liferay выдает:

ОШИБКА [http-nio-8080-exec-1][ExceptionMapper:31] java.lang.NullPointerExceptionjava.lang.NullPointerException в com.liferay.portal.cache.internal.dao.orm.FinderCacheImpl._getArguments(FinderCacheImpl.java:466) в com.liferay.portal.cache.internal.dao.orm.FinderCacheImpl.updateByEntityCache(FinderCacheImpl.java:378) в com.liferay.portal.cache.internal.dao.orm.EntityCacheImpl._putResult(EntityCache :Impl.java439) в com.liferay.portal.cache.internal.dao.orm.EntityCacheImpl.putResult(EntityCacheImpl.java:336) в com.liferay.portal.cache.internal.dao.orm.EntityCacheImpl.putResult(EntityCacheImpl.java:358) в com.liferay.portal.cache.internal.dao.orm.EntityCacheImpl.putResult(EntityCacheImpl.java:328)

Исключение составляет ..PersistenceImpl при попытке выполнить entityCache.putResult (entityCacheEnabled,...); Не понимаю, потерял ли я что-то при портировании или что-то пропало в 7.3.

1 ответ

Была такая же проблема. После отладки кода ServiceBuilder я обнаружил, что шаблоны, используемые для создания классов, используют версию из определения DTD service.xml (проверьте файл persistence_impl.ftl в com.liferay.portal.tools.service.builder.jar). Убедитесь, что у вас установлена ​​версия 7.3.0, а не 7.2.0 (или даже старше).

      <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 7.3.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_7_3_0.dtd">

<service-builder...>
Другие вопросы по тегам