<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Dynamic Query in liferay using Or Operator.</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=35021442" />
  <subtitle>Dynamic Query in liferay using Or Operator.</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=35021442</id>
  <updated>2026-04-21T16:29:39Z</updated>
  <dc:date>2026-04-21T16:29:39Z</dc:date>
  <entry>
    <title>RE: Dynamic Query in liferay using Or Operator.</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35317962" />
    <author>
      <name>Pradip Gadewar</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35317962</id>
    <updated>2014-03-06T05:06:29Z</updated>
    <published>2014-03-06T05:06:29Z</published>
    <summary type="html">Hello All,&lt;br /&gt;&lt;br /&gt;Finally i got the answer we can use dynamic query using the OR operator as follows.&lt;br /&gt;&lt;br /&gt;String[] centerTypesArray =  { &amp;#34;Leaderboard&amp;#34;, &amp;#34;LearningCentre&amp;#34;, &amp;#34;CSRCentre&amp;#34;, &amp;#34;SocialCentre&amp;#34;, &amp;#34;CommunicationCentre&amp;#34; , &amp;#34;PolicyCentre&amp;#34; , &amp;#34;Idea Centre&amp;#34; , &amp;#34;AppreciationCentre&amp;#34; ,&amp;#34;Public Page&amp;#34;};&lt;br /&gt;&lt;br /&gt;DynamicQuery activityQuery=DynamicQueryFactoryUtil.forClass(ActivityData.class,(ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),&amp;#34;portletClassLoader&amp;#34;))&lt;br /&gt; .add(RestrictionsFactoryUtil.between(&amp;#34;publicationliveDate&amp;#34;, actdate,curdate))&lt;br /&gt; .add(PropertyFactoryUtil.forName(&amp;#34;centretype&amp;#34;).in(centerTypesArray))&lt;br /&gt;  .addOrder(OrderFactoryUtil.desc(&amp;#34;publicationliveDate&amp;#34;));&lt;br /&gt;&lt;br /&gt;when we use such kind of query it will search records from the Leaderboard or CSRCentre or others as specified in centerTypesArray .&lt;br /&gt;I am Thankful to all for replying me.</summary>
    <dc:creator>Pradip Gadewar</dc:creator>
    <dc:date>2014-03-06T05:06:29Z</dc:date>
  </entry>
  <entry>
    <title>RE: Dynamic Query in liferay using Or Operator.</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35069677" />
    <author>
      <name>Sushil Patidar</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35069677</id>
    <updated>2014-02-28T12:50:12Z</updated>
    <published>2014-02-28T12:50:12Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Hi,&lt;br&gt;       you can use use disjunction to  put OR conditions  as follows.&lt;br&gt;      &lt;pre&gt;&lt;code&gt;    DynamicQuery activityQuery=DynamicQueryFactoryUtil.forClass(ActivityData.class,    (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader"));
		 
		 Disjunction disjunction = RestrictionsFactoryUtil.disjunction();
		 disjunction.add(PropertyFactoryUtil.forName("propertyName1").eq("value1"));
		 disjunction.add(PropertyFactoryUtil.forName("propertyName2").eq("value2"));
		 activityQuery.add(disjunction);
    &lt;/code&gt;&lt;/pre&gt;&lt;br&gt;   i hope it may help you.&lt;br&gt;&lt;br&gt;Regards&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Sushil Patidar</dc:creator>
    <dc:date>2014-02-28T12:50:12Z</dc:date>
  </entry>
  <entry>
    <title>RE: Dynamic Query in liferay using Or Operator.</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35064752" />
    <author>
      <name>Kumar Vivek</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35064752</id>
    <updated>2014-02-28T11:24:54Z</updated>
    <published>2014-02-28T11:24:54Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;HI Pradip Gadewar,&lt;br&gt;      As far as i can see your approach towards the dynamic query is wrong . its same as in hibernate . &lt;br&gt; Here is a sample where you can find your solution &lt;br&gt;&lt;pre&gt;&lt;code&gt;DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(MyCustomTable.class);
Criterion criterion = null;
criterion = RestrictionsFactoryUtil.like("subject", StringPool.PERCENT + "Test Subject"+ StringPool.PERCENT);
criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.between("create_date",10/02/2012,10/03/2012));
criterion = RestrictionsFactoryUtil.or(criterion , RestrictionsFactoryUtil.eq("status", "Pending"));
dynamicQuery.add(criterion); &lt;/code&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;Regards&lt;br&gt; KV&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Kumar Vivek</dc:creator>
    <dc:date>2014-02-28T11:24:54Z</dc:date>
  </entry>
  <entry>
    <title>RE: Dynamic Query in liferay using Or Operator.</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35049095" />
    <author>
      <name>Pradip Gadewar</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35049095</id>
    <updated>2014-02-28T05:29:23Z</updated>
    <published>2014-02-28T05:29:23Z</published>
    <summary type="html">Hi Ahmad,&lt;br /&gt;&lt;br /&gt;Thanks for your Reply, I have checked your  link but it will be worked for only 2 names but when i have to compare with 8 to 10 names in or conditions more clearly my DynamicQuery is as follows&lt;br /&gt;&lt;br /&gt;DynamicQuery activityQuery=DynamicQueryFactoryUtil.forClass(ActivityData.class,(ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),&amp;#34;portletClassLoader&amp;#34;))&lt;br /&gt;  .add(RestrictionsFactoryUtil.between(&amp;#34;publicationliveDate&amp;#34;, actdate,curdate))&lt;br /&gt;  .add(PropertyFactoryUtil.forName(&amp;#34;centretype&amp;#34;).eq(&amp;#34;LearningCentre&amp;#34;))&lt;br /&gt;   .add(PropertyFactoryUtil.forName(&amp;#34;centretype&amp;#34;).eq(&amp;#34;SocialCentre&amp;#34;))&lt;br /&gt;   .add(PropertyFactoryUtil.forName(&amp;#34;centretype&amp;#34;).eq(&amp;#34;CSRCentre&amp;#34;))&lt;br /&gt;   .add(PropertyFactoryUtil.forName(&amp;#34;centretype&amp;#34;).eq(&amp;#34;CommunicationCentre&amp;#34;))&lt;br /&gt;   .add(PropertyFactoryUtil.forName(&amp;#34;centretype&amp;#34;).eq(&amp;#34;PolicyCentre&amp;#34;))&lt;br /&gt;   .add(PropertyFactoryUtil.forName(&amp;#34;centretype&amp;#34;).eq(&amp;#34;Leaderboard&amp;#34;))&lt;br /&gt;    .add(PropertyFactoryUtil.forName(&amp;#34;centretype&amp;#34;).eq(&amp;#34;Idea Centre&amp;#34;))&lt;br /&gt;    .add(PropertyFactoryUtil.forName(&amp;#34;centretype&amp;#34;).eq(&amp;#34;AppreciationCentre&amp;#34;))&lt;br /&gt;    .add(PropertyFactoryUtil.forName(&amp;#34;centretype&amp;#34;).eq(&amp;#34;Public Page&amp;#34;))&lt;br /&gt;    .addOrder(OrderFactoryUtil.desc(&amp;#34;publicationliveDate&amp;#34;));&lt;br /&gt;&lt;br /&gt;I have to select a records from the ActivityData Table whose centretypes are LearningCentre or SocialCentre or CSRCentre or CommunicationCentre or PolicyCentre or Leaderboard or AppreciationCentre or Public Page.&lt;br /&gt;&lt;br /&gt;In such case I am not able to use Or operator Please Reply me as early as possible....</summary>
    <dc:creator>Pradip Gadewar</dc:creator>
    <dc:date>2014-02-28T05:29:23Z</dc:date>
  </entry>
  <entry>
    <title>RE: Dynamic Query in liferay using Or Operator.</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35024696" />
    <author>
      <name>Ahmad Heba Tul Baseet</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35024696</id>
    <updated>2014-02-27T14:29:46Z</updated>
    <published>2014-02-27T14:29:46Z</published>
    <summary type="html">Hi Pradip,&lt;br /&gt;take a look on&lt;br /&gt;https://www.liferay.com/de/community/forums/-/message_boards/message/1266520&lt;br /&gt;&lt;br /&gt;Thanks.</summary>
    <dc:creator>Ahmad Heba Tul Baseet</dc:creator>
    <dc:date>2014-02-27T14:29:46Z</dc:date>
  </entry>
  <entry>
    <title>Dynamic Query in liferay using Or Operator.</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35021441" />
    <author>
      <name>Pradip Gadewar</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=35021441</id>
    <updated>2014-02-27T13:08:50Z</updated>
    <published>2014-02-27T13:08:50Z</published>
    <summary type="html">Hello All,&lt;br /&gt;&lt;br /&gt;    I am new to liferay, I just build the service layer and now I have to retrieving list of records from table. I just want to write Sql Statement&lt;br /&gt;    for following Query.&lt;br /&gt;   &lt;br /&gt;   &amp;#34;Select EmpName from Emp&lt;br /&gt;   where  EmpName =&amp;#39;Pradip&amp;#39; OR EmpName = &amp;#39;Ravi&amp;#39; OR EmpName =&amp;#39;Roshan&amp;#39; OR  EmpName =&amp;#39;Sushil&amp;#39; &amp;#34;;&lt;br /&gt;   &lt;br /&gt;  I have to write DynamicQuery in Liferay for the above Query. &lt;br /&gt;  Consider that i have to give OR condition for 8 to 10 Names.&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;   Can Anybody know how to do this??&lt;br /&gt;&lt;br /&gt;   --&lt;br /&gt;  Thanks in Advance&lt;br /&gt;  Pradip Gadewar</summary>
    <dc:creator>Pradip Gadewar</dc:creator>
    <dc:date>2014-02-27T13:08:50Z</dc:date>
  </entry>
</feed>
