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.
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