Formación Liferay: Uso de DynamicQuery

08-04-2016
 

Dynamic Query

Dynamic Query

Una funcionalidad poco explotada por los desarrolladores que conozco es la de poder hacer peticiones personalizadas a la capa de servicio. Básicamente, se trata de crear una petición usando DynamicQuery tal como esta en el siguiente ejemplo.

Supongamos que queremos encontrar la página del panel de control de la instancia actual, pues muy fácil ejecutando la siguiente sentencia:

/* Definimos la query */
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Layout.class)
	.add(PropertyFactoryUtil.forName("type").eq( "control_panel" ))
	.add(PropertyFactoryUtil.forName("companyId").eq( themeDisplay.getCompanyId() )
	);

/* Ejecutamos la query */
List<Layout> layouts=LayoutLocalServiceUtil.dynamicQuery( query );

System.out.println( “El Id de la página es: ”+layouts.get(0).getLayoutId() );

Fácil! En fin, me he currado posts mejores, pero uno no siempre esta inspirado. Espero que os resulte útil. Buen fin de semana.

Leave a Reply

© Albert Coronado Calzada