Saturday, February 27, 2016

Order By Clause using Dynamic Query in Liferay


Today we will discuss about Order By Clause in Dynamic Query . Before reading this blog it is highly recommended to read my previous blog on introduction of dynamic query

Lets start with example:-

1)Order By descending

/**
* SELECT * FROM user_ user WHERE user.emailAddress like '%adit%' ORDER BY user.userId desc;
*/
DynamicQuery userQuery = DynamicQueryFactoryUtil.forClass(User.class, "user",PortalClassLoaderUtil.getClassLoader());
userQuery.add(RestrictionsFactoryUtil.like("user.emailAddress", "%adit%"));
userQuery.addOrder(OrderFactoryUtil.desc("user.userId"));
try {
List<User> userList = UserLocalServiceUtil.dynamicQuery(userQuery);
for (User user : userList) {
System.out.println("User Id==>"+user.getUserId()+" Name==>"+user.getFirstName());
}
} catch (SystemException e) {
e.printStackTrace();
}
view raw Desc.java hosted with ❤ by GitHub


2)Order By ascending

/**
* SELECT * FROM user_ user WHERE user.emailAddress like '%adit%' ORDER BY user.userId asc;
*/
DynamicQuery userQuery = DynamicQueryFactoryUtil.forClass(User.class, "user",PortalClassLoaderUtil.getClassLoader());
userQuery.add(RestrictionsFactoryUtil.like("user.emailAddress", "%adit%"));
userQuery.addOrder(OrderFactoryUtil.asc("user.userId"));
try {
List<User> userList = UserLocalServiceUtil.dynamicQuery(userQuery);
for (User user : userList) {
System.out.println("User Id==>"+user.getUserId()+" Name==>"+user.getFirstName());
}
} catch (SystemException e) {
e.printStackTrace();
}
view raw Asc.java hosted with ❤ by GitHub

OR 

You can also use PropertyFactoryUtil class for same operations. 

Example:-

/**
* * SELECT * FROM user_ user WHERE user.emailAddress like '%adit%' ORDER BY user.userId desc;
*/
DynamicQuery userQuery = DynamicQueryFactoryUtil.forClass(User.class, "user",PortalClassLoaderUtil.getClassLoader());
userQuery.add(RestrictionsFactoryUtil.like("user.emailAddress", "%adit%"));
userQuery.addOrder(PropertyFactoryUtil.forName("user.userId").desc());
try {
List<User> userList = UserLocalServiceUtil.dynamicQuery(userQuery);
for (User user : userList) {
System.out.println("User Id====>"+user.getUserId()+" Name====>"+user.getFirstName());
}
} catch (SystemException e) {
e.printStackTrace();
}
view raw Desc.java hosted with ❤ by GitHub



Hope this will Help....

Related Post:-

No comments:

Post a Comment

Total Pageviews

1039176

Number Of Unique Visitor

Free counters!