Liferay provides several ways by which we can retrieve data from database. One of them is dynamic query.
You can easily fire complex query using dynamic query and it will reduce overhead of creating custom finder methods.
Lets go step by step with easy example.
If you want to fire simple AND query then here is the example.
Above query will search in table MycustomTable for records which has status as Pending and userId as 10122. If you want to sort your records in particular order that also you can do.
Above query will order records based on Modified Date and RequestId. Now if you want to fire some complex query like combination of or , And , Between and Like then here is the example. By using RestrictionFactoryUtil we can file OR , AND , Like and Between query.
As you can see above query will try to fetch those records which has subject like "Test Subject" and its created_date is in between the above dates or the records which has status as pending.
Below is the example for like query on multiple fields.
To execute dynamic query.
Above query will search in table MycustomTable for records which has status as Pending and userId as 10122. If you want to sort your records in particular order that also you can do.
Above query will order records based on Modified Date and RequestId. Now if you want to fire some complex query like combination of or , And , Between and Like then here is the example. By using RestrictionFactoryUtil we can file OR , AND , Like and Between query.
As you can see above query will try to fetch those records which has subject like "Test Subject" and its created_date is in between the above dates or the records which has status as pending.
Below is the example for like query on multiple fields.
To execute dynamic query.