Uploaded image for project: 'DeltaSpike'
  1. DeltaSpike
  2. DELTASPIKE-1330

Criteria with OR generate AND on query

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Not A Problem
    • 1.8.1
    • 1.9.1
    • Data-Module
    • None
    • JDK 8u161, Wildfly 11, JEE 7

    Description

      If I use a OR on criteria the generated query use AND instead of OR to mix the properties after WHERE clause.

      Sample: 

      // code placeholder
      default List<T> findAllBy(String filter, Boolean blocked, int start, int pageSize) {
      
      final Criteria<T, T> criteria = criteria();
      
      if (isNotBlank(filter)) {
      criteria.or(this.criteria()
      .likeIgnoreCase(User_.name, filter)
      .likeIgnoreCase(User_.username, filter)
      .likeIgnoreCase(User_.email, filter));
      } 
      
      if (blocked != null) {
      criteria.eq(this.getBlockedProperty(), blocked);
      }
      
      criteria.orderDesc(PersistentEntity_.createdOn);
      
      return criteria.createQuery()
      .setFirstResult(start)
      .setMaxResults(pageSize)
      .getResultList();
      }
      

       

      Generate this hibernate query: 

      17:41:24,813 INFO  [stdout] (default task-64) Hibernate: select user0_.id as id1_4_, user0_.created_by as created_2_4_, user0_.created_on as created_3_4_, user0_.modified_by as modified4_4_, user0_.modified_on as modified5_4_, user0_.blocked as blocked6_4_, user0_.email as email7_4_, user0_.id_group as id_grou12_4_, user0_.name as name8_4_, user0_.password as password9_4_, user0_.store_type as store_t10_4_, user0_.username as usernam11_4_ from security.users user0_ where (upper(user0_.name) like ?) and (upper(user0_.username) like ?) and (upper(user0_.email) like ?) order by user0_.created_on desc limit ?

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              gregorioarthur Arthur Pereira Gregório
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: