Project

General

Profile

« Previous | Next » 

Revision 40dfdbc5

Added by Katja Luther over 7 years ago

fix #6061: search in titlecache and nomenclatural titleCache in getUuidAndAbbrevTitleCache

View differences:

cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/agent/AgentDaoImpl.java
180 180
        }
181 181

  
182 182
        Query query = null;
183
        String whereClause = " WHERE ";
183 184
        if (pattern != null){
185
            whereClause += "nomenclaturalTitle LIKE :pattern";
186
            if (pattern.startsWith("*")){
187
                whereClause += " OR titleCache LIKE :pattern";
188
            }
184 189
            if (clazzString != ""){
185
                query = session.createQuery("SELECT uuid, id, nomenclaturalTitle, titleCache FROM " + type.getSimpleName() +" WHERE (nomenclaturalTitle LIKE :pattern OR (nomenclaturalTitle IS NULL AND titleCache LIKE :pattern) AND " + clazzString);
190
                whereClause += " AND " + clazzString;
191
            }
192

  
193

  
194
            query = session.createQuery("SELECT uuid, id, nomenclaturalTitle, titleCache FROM " + type.getSimpleName()  + whereClause);
186 195

  
187
            } else{
188
                query = session.createQuery("SELECT uuid, id, nomenclaturalTitle, titleCache FROM " + type.getSimpleName() +" WHERE nomenclaturalTitle LIKE :pattern");
189 196

  
190
            }
191 197
            pattern = pattern + "%";
192 198
            pattern = pattern.replace("*", "%");
193 199
            pattern = pattern.replace("?", "_");

Also available in: Unified diff