从7.2移植后的Liferay 7.3 java.lang.NullPointerException



我正在进行从Liferay 7.2到Liferay 7.3.6 GA7的移植。我有一个客户表。当我使用..添加第一行时。。LocalServiceUtil还可以。但以后每次我使用持久性时(例如tablePersistence.update(table(;(失败和救生投掷:

错误[http-nio-8080-exec-1][ExceptionMapper:31]java.lang.NullPointerExceptionjava.lang.NullPointerException网址:com.liferay.portal.cache.internal.dom.orm.FinderCacheImpl._getArguments(FinderCacheImpl.java:466(网址:com.liferay.portal.cache.internal.dom.orm.FinderCacheImpl.updateByEntityCache(FinderCacheImpl.java:378(网址:com.liferay.portal.cache.internal.dao.orm.EntityCacheImpl._putResult(EntityCacheImpl.java:439(网址: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中丢失了一些东西。

这是一个在customTable中添加行的方法的示例,fooPersistence.update(foo(在第一次之后抛出异常:

@Indexable(type = IndexableType.REINDEX) 
public Foo add(ServiceContext serviceContext) 
throws PortalException { 
long companyId = serviceContext.getCompanyId(); 
long userId = serviceContext.getUserId(); 
User user = UserLocalServiceUtil.getUser(userId); 
long groupId = user.getGroupId(); 
long id = counterLocalService.increment(); 
Foo foo = fooPersistence.create(id); 
Date now = new Date(); 
foo.setCreateDate(now); foo.setCompanyId(companyId); 
foo.setGroupId(groupId); 
fooPersistence.update(foo);
return foo; 
}

也有同样的问题。在调试了ServiceBuilder的代码后,我发现用于生成类的模板使用了service.xml的DTD定义中的版本(请检查com.liferay.portal.tools.service.builder.jar中的文件persistence_inpl.ftl(。确保那里有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...>

相关内容

  • 没有找到相关文章

最新更新