/** * INTERNAL: * Identify mapped and not mapped fields (should be done once). * The result - either two non-empty Maps m_unmappedQueryKeyFields and m_mappedQueryKeyFields, * or m_unmappedQueryKeyFields == null and m_mappedQueryKeyFields == m_queryKeyFields. */ public void initUnmappedFields(UnitOfWorkImpl uow) { if(!m_hasCheckedForUnmappedFields) { m_mappedQueryKeyFields = new HashMap<DatabaseField, DatabaseField>(); m_unmappedQueryKeyFields = new HashMap<DatabaseField, DatabaseField>(); Iterator<Map.Entry<DatabaseField, DatabaseField>> it = m_queryKeyFields.entrySet().iterator(); while(it.hasNext()) { Map.Entry<DatabaseField, DatabaseField> entry = it.next(); if(m_descriptor.getObjectBuilder().getMappingForField(entry.getValue()) == null) { m_unmappedQueryKeyFields.put(entry.getKey(), entry.getValue()); } else { m_mappedQueryKeyFields.put(entry.getKey(), entry.getValue()); } } if(m_unmappedQueryKeyFields.isEmpty()) { m_unmappedQueryKeyFields = null; m_mappedQueryKeyFields = m_queryKeyFields; } initUnmappedFieldsQuery(uow); m_hasCheckedForUnmappedFields = true; } }
/** * INTERNAL: * Identify mapped and not mapped fields (should be done once). * The result - either two non-empty Maps m_unmappedQueryKeyFields and m_mappedQueryKeyFields, * or m_unmappedQueryKeyFields == null and m_mappedQueryKeyFields == m_queryKeyFields. */ public void initUnmappedFields(UnitOfWorkImpl uow) { if(!m_hasCheckedForUnmappedFields) { m_mappedQueryKeyFields = new HashMap<DatabaseField, DatabaseField>(); m_unmappedQueryKeyFields = new HashMap<DatabaseField, DatabaseField>(); Iterator<Map.Entry<DatabaseField, DatabaseField>> it = m_queryKeyFields.entrySet().iterator(); while(it.hasNext()) { Map.Entry<DatabaseField, DatabaseField> entry = it.next(); if(m_descriptor.getObjectBuilder().getMappingForField(entry.getValue()) == null) { m_unmappedQueryKeyFields.put(entry.getKey(), entry.getValue()); } else { m_mappedQueryKeyFields.put(entry.getKey(), entry.getValue()); } } if(m_unmappedQueryKeyFields.isEmpty()) { m_unmappedQueryKeyFields = null; m_mappedQueryKeyFields = m_queryKeyFields; } initUnmappedFieldsQuery(uow); m_hasCheckedForUnmappedFields = true; } }
/** * INTERNAL: * Identify mapped and not mapped fields (should be done once). * The result - either two non-empty Maps m_unmappedQueryKeyFields and m_mappedQueryKeyFields, * or m_unmappedQueryKeyFields == null and m_mappedQueryKeyFields == m_queryKeyFields. */ public void initUnmappedFields(UnitOfWorkImpl uow) { if(!m_hasCheckedForUnmappedFields) { m_mappedQueryKeyFields = new HashMap<DatabaseField, DatabaseField>(); m_unmappedQueryKeyFields = new HashMap<DatabaseField, DatabaseField>(); Iterator<Map.Entry<DatabaseField, DatabaseField>> it = m_queryKeyFields.entrySet().iterator(); while(it.hasNext()) { Map.Entry<DatabaseField, DatabaseField> entry = it.next(); if(m_descriptor.getObjectBuilder().getMappingForField(entry.getValue()) == null) { m_unmappedQueryKeyFields.put(entry.getKey(), entry.getValue()); } else { m_mappedQueryKeyFields.put(entry.getKey(), entry.getValue()); } } if(m_unmappedQueryKeyFields.isEmpty()) { m_unmappedQueryKeyFields = null; m_mappedQueryKeyFields = m_queryKeyFields; } initUnmappedFieldsQuery(uow); m_hasCheckedForUnmappedFields = true; } }