Project

General

Profile

« Previous | Next » 

Revision 9169740e

Added by Andreas Müller almost 2 years ago

ref #10076 fix HQL query (remove native)

View differences:

cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImpl.java
22 22
import java.util.Set;
23 23
import java.util.UUID;
24 24

  
25
import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;
25
import org.apache.logging.log4j.LogManager;
26
import org.apache.logging.log4j.Logger;
26 27
import org.hibernate.Criteria;
27 28
import org.hibernate.Hibernate;
28 29
import org.hibernate.criterion.Projections;
......
931 932
        if (relTypeUuids != null && !relTypeUuids.isEmpty()){
932 933
            query.setParameterList("relTypeUuid", relTypeUuids);
933 934
        }
934
        @SuppressWarnings("unchecked")
935

  
935 936
        List<List<Integer>> partitionList = splitIdList(query.list(), DEFAULT_SET_SUBTREE_PARTITION_SIZE);
936 937
        for (List<Integer> taxonIdList : partitionList){
937 938
            @SuppressWarnings({ "unchecked", "rawtypes" })
......
1111 1112
             if (pattern != null && !pattern.equals("?")){
1112 1113
                 query.setParameter("pattern", pattern);
1113 1114
             }
1114
             @SuppressWarnings("unchecked")
1115

  
1115 1116
             List<SortableTaxonNodeQueryResult> resultClassifications = query.list();
1116 1117

  
1117 1118
             result.addAll(resultClassifications);
......
1173 1174
                + ") "
1174 1175
                + " FROM TaxonNode p "
1175 1176
                + "   INNER JOIN p.childNodes AS tn"
1176
                + "   INNER JOIN tn.taxon AS t "               
1177
                + "   INNER JOIN tn.taxon AS t "
1177 1178
                + "   INNER JOIN t.name AS name "
1178 1179
                + "   INNER JOIN tn.classification AS cl "
1179 1180
                + "	  LEFT OUTER JOIN tn.statusNote as note "
1180 1181
                + "   LEFT OUTER JOIN name.rank AS rank ";
1181 1182
        return queryString;
1182 1183
    }
1183
    
1184

  
1184 1185
    public String getTaxonNodeDtoQueryWithoutParent() {
1185 1186
        String queryString = "SELECT new " + SortableTaxonNodeQueryResult.class.getName() + "("
1186 1187
        	+	"tn.uuid, tn.id, t.titleCache"// rank "
1187
                
1188

  
1188 1189
        //    + "tn.uuid, tn.id, t.uuid, t.titleCache, name.titleCache, rank, cl.uuid,  t.publish, tn.status, note "
1189 1190
            + ") "
1190 1191
            + " FROM TaxonNode tn "
1191
            + "   LEFT JOIN tn.taxon AS t "     ;          
1192
            + "   LEFT JOIN tn.taxon AS t "     ;
1192 1193
//            + "   LEFT JOIN t.name AS name "
1193 1194
//            + "   INNER JOIN tn.classification AS cl ";
1194 1195
//            + "	  LEFT OUTER JOIN tn.statusNote as note ";
1195 1196
      //      + "   LEFT OUTER JOIN name.rank AS rank ";
1196 1197
        return queryString;
1197 1198
    }
1198
    
1199
    
1199

  
1200

  
1200 1201

  
1201 1202
    @Override
1202 1203
    public List<TaxonNodeDto> getTaxonNodeDtos(List<UUID> nodeUuids) {
......
1212 1213

  
1213 1214
        return list;
1214 1215
    }
1215
    
1216

  
1216 1217
    @Override
1217 1218
    public List<TaxonNodeDto> getTaxonNodeDtosWithoutParent(List<UUID> nodeUuids) {
1218 1219
        String queryString = getTaxonNodeDtoQueryWithoutParent();
......
1240 1241
        if (subTreeIndex != null) {
1241 1242
        	query.setParameter("subTreeIndex", subTreeIndex);
1242 1243
        }
1243
        
1244

  
1244 1245
        List<SortableTaxonNodeQueryResult> result = query.list();
1245 1246
        List<TaxonNodeDto> list = createNodeDtos(result);
1246 1247
        if (list.isEmpty()) {
......
1293 1294
        return getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(classification, limit, pattern, searchForClassifications, false);
1294 1295
    }
1295 1296

  
1296
	
1297

  
1297 1298
}

Also available in: Unified diff