Revision 40dfdbc5
Added by Katja Luther over 7 years ago
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
fix #6061: search in titlecache and nomenclatural titleCache in getUuidAndAbbrevTitleCache