Saturday, 24 February 2018

NOT IN operator in Liferay DXP

NOT IN Operator in Liferay DXP

For Ex.

select userId from user_ where userId  NOT IN select userId from organization_


        List<User> us = UserLocalServiceUtil.getUsers(-1, -1);
System.out.println("total records " + us.size());
  
        Projection pr = ProjectionFactoryUtil.property("userId");

DynamicQuery dq = OrganizationLocalServiceUtil.dynamicQuery();
dq.setProjection(pr);
dq.setProjection(ProjectionFactoryUtil.distinct(pr));
        List<Long> orgUserId = OrganizationLocalServiceUtil.dynamicQuery(dq);
        System.out.println("Dinstinct UserId From  Organization Table : - " + orgUserId.size());

DynamicQuery dynamicQuery = UserLocalServiceUtil.dynamicQuery();
dynamicQuery.add(PropertyFactoryUtil.forName("userId").notIn(dq));
dynamicQuery.setProjection(pr);
dynamicQuery.setProjection(ProjectionFactoryUtil.distinct(pr));
List<Long> userIdlist = UserLocalServiceUtil.dynamicQuery(dynamicQuery);


System.out.println("Actual Result = total-from org table " + userIdlist.size());


Here column data type should be NOT NULL.

No comments:

Post a Comment