diff --git a/src/main/java/org/gcube/accounting/utility/postgresql/RecordToDBMapping.java b/src/main/java/org/gcube/accounting/utility/postgresql/RecordToDBMapping.java index 934524e..c568ebf 100644 --- a/src/main/java/org/gcube/accounting/utility/postgresql/RecordToDBMapping.java +++ b/src/main/java/org/gcube/accounting/utility/postgresql/RecordToDBMapping.java @@ -37,11 +37,17 @@ public class RecordToDBMapping { recordToDBInfo.put(type, recordDBInfo); } + @SuppressWarnings("unchecked") public static synchronized RecordToDBFields getRecordToDBFields(Class clz) throws Exception { String type = getRecordTypeByClass(clz); RecordToDBFields recordToDBFields = classToRecordToDBMapper.get(type); if(recordToDBFields == null) { - Class> aggregatedRecordClass = RecordUtility.getAggregatedRecordClass(type); + Class> aggregatedRecordClass; + if(AggregatedRecord.class.isAssignableFrom(clz)) { + aggregatedRecordClass = (Class>) clz; + }else { + aggregatedRecordClass = RecordUtility.getAggregatedRecordClass(type); + } recordToDBFields = new RecordToDBFields(type, aggregatedRecordClass); classToRecordToDBMapper.put(type, recordToDBFields); }