在使用Liferay的DynamicQuery自定义SQL方法的时候遇到了如下情况:
此时考虑两种解决方案:
- 如果这个方法所在的xxxlocalServicceImpl类是在该Porlet中
Classloader loader = PortalClassLoaderUtil.getClassLoader();
DynamicQuery query = DynamicQueryFactoryUtil.forClass(DLFileEntry.class, loader);
- 如果这个方法所在的xxxlocalServicceImpl类是在别的Porlet中
ClassLoader classLoader = (ClassLoader) PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(DLFileEntry.class, classLoader);