/** * INTERNAL: * Set a converter on the KeyField of a DirectCollectionMapping * @param keyConverter * @param mapping */ public void setKeyConverter(Converter keyConverter, DirectMapMapping mapping){ if (((DatabaseMapping)keyMapping).isDirectToFieldMapping()){ ((DirectToFieldMapping)keyMapping).setConverter(keyConverter); } else { throw DescriptorException.cannotSetConverterForNonDirectMapping(mapping.getDescriptor(), mapping, keyConverter.getClass().getName()); } }
protected AbstractDirectMapping addDirectMappingForEnum(String fieldName, String className, String columnName) { DirectToFieldMapping dtfm = addDirectMapping(fieldName, null, columnName); dtfm.setConverter(new EnumTypeConverter(dtfm, className)); addMapping(dtfm); return dtfm; }
protected AbstractDirectMapping addDirectMappingForEnum(String fieldName, String className, String columnName) { DirectToFieldMapping dtfm = addDirectMapping(fieldName, null, columnName); dtfm.setConverter(new EnumTypeConverter(dtfm, className)); addMapping(dtfm); return dtfm; }
@Override public void customizeConverter(final DirectToFieldMapping databaseMapping, final Session session) { if (hasEnumTypeConverter(databaseMapping)) { final EnumTypeConverter eclipseConverter = (EnumTypeConverter) databaseMapping.getConverter(); final Class enumClazz = eclipseConverter.getEnumClass(); logFine(session, "Set enum-converter to field {0} with class {1}", databaseMapping.getField().getName(), enumClazz.getName()); databaseMapping.setConverter( new org.zalando.jpa.eclipselink.customizer.databasemapping.support.EnumTypeConverter(enumClazz, databaseMapping.getField().getColumnDefinition())); } }
m.setConverter(null); } else { m.setConverter(this); m.setFieldClassification(fieldClassification); m.setFieldClassificationClassName(fieldClassificationName);
m.setConverter(null); } else { m.setConverter(this); m.setFieldClassification(fieldClassification); m.setFieldClassificationClassName(fieldClassificationName);
if (metaProperty.getRange().isDatatype()) { if (metaProperty.getJavaType().equals(UUID.class)) { ((DirectToFieldMapping) mapping).setConverter(UuidConverter.getInstance()); setDatabaseFieldParameters(session, mapping.getField());