/**
* INTERNAL:
*/
protected AbstractDirectMapping processDirectMapKeyClass(MappedKeyMapAccessor mappedKeyMapAccessor) {
AbstractDirectMapping keyMapping = new DirectToFieldMapping();
// Get the map key field, defaulting and looking for attribute
// overrides. Set the field before applying a converter.
DatabaseField mapKeyField = getDatabaseField(getReferenceDatabaseTable(), MetadataLogger.MAP_KEY_COLUMN);
keyMapping.setField(mapKeyField);
keyMapping.setIsReadOnly(mapKeyField.isReadOnly());
keyMapping.setAttributeClassificationName(mappedKeyMapAccessor.getMapKeyClass().getName());
keyMapping.setDescriptor(getDescriptor().getClassDescriptor());
// Process a convert key or jpa converter for the map key if specified.
processMappingKeyConverter(keyMapping, mappedKeyMapAccessor.getMapKeyConvert(), mappedKeyMapAccessor.getMapKeyConverts(), mappedKeyMapAccessor.getMapKeyClass(), mappedKeyMapAccessor.getMapKeyClassWithGenerics());
return keyMapping;