Liferay API provides means of accessing the liferay default entities via its liferay API. There would be situations where you need to access a entity with parameters, other than the methods provided by liferay. In which case, dynamic query will be a handy way. It is also a method in the liferay API where you can add the custom query to retrieve the entity that you require.
Here is the sample code
Here is the sample code
ClassLoader classLoader = PortalClassLoaderUtil.getClass Loader();
or if this service builder method is being called from external portlet better use
or if this service builder method is being called from external portlet better use
ClassLoader classLoader = PortletClassLoaderUtil.getClassLoader( "<<portlet_id>>" );
DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forCla ss(
AssetCategoryProperty.class, classLoader).add(
PropertyFactoryUtil.forName(" categoryId").eq(categoryId));
List<AssetCategoryProperty> liAssetCategoryProperty = AssetCategoryPropertyLocalServ iceUtil
.dynamicQuery(dynamicQuery);
Here in the above example, I am trying to retrieve the properties that I define on the Asset Category. By default there is no method provided by liferay API (AssetCategoryPropertyLocalServiceUtil) to retrieve the AssetCategoryProperty using the category id. Hence Dynamic Query comes into picture.
No comments:
Post a Comment