@Override public boolean isAutoGeneratedColumn(MetadataContext context,DbColumn column) { String fieldName = context.getNamingStrategy().columnToFieldName(column.getName()); OrmConfig config = context.getConfig(); if(fieldName.equalsIgnoreCase(config.getOptimisticLockFieldName())){ return true; } for(String autoGeneratedField : config.getAutoGeneratedFieldNames()){ if(fieldName.equalsIgnoreCase(autoGeneratedField)){ return true; } } return false; }
protected void autoGeneratedFieldsForModel(MetadataContext context,EntityMappingBuilder emb){ if(!emb.isModelClass()) { return; } float order = FieldMappingBuilder.LAST_SORT_ORDER; if(context.getConfig().isAutoGenerateOptimisticLock()) { String fieldName = context.getConfig().getOptimisticLockFieldName(); if(emb.findFieldMappingByName(fieldName) == null){ emb.addFieldMapping( createFieldMappingByDomain(context, emb, fieldName, "orm." + fieldName) .setSortOrder((order++))); } } for(String autoGeneratedField : context.getConfig().getAutoGeneratedFieldNames()){ if(emb.findFieldMappingByName(autoGeneratedField) == null && emb.findFieldMappingByMetaName(autoGeneratedField) == null){ emb.addFieldMapping( createFieldMappingByDomain(context, emb, autoGeneratedField, "orm." + autoGeneratedField) .setSortOrder((order++))); } } } }