protected void serializePrimaryKeys(EntityType model, CodeWriter writer,
            Collection<PrimaryKeyData> primaryKeys) throws IOException {
        for (PrimaryKeyData primaryKey : primaryKeys) {
            String fieldName = namingStrategy.getPropertyNameForPrimaryKey(primaryKey.getName(), model);
            StringBuilder value = new StringBuilder("createPrimaryKey(");
            boolean first = true;
            for (String column : primaryKey.getColumns()) {
                if (!first) {
                    value.append(", ");
                }
                value.append(namingStrategy.getPropertyName(column, model));
                first = false;
            }
            value.append(")");
            Type type = new ClassType(PrimaryKey.class, model);
            writer.publicFinal(type, fieldName, value.toString());
        }

    }
Create a new {@code MetaDataSerializer} instance

@param namingStrategy      naming strategy for table to class and column to property conversion
@param innerClassesForKeys wrap key properties into inner classes (default: false)
@param imports             java user imports
querydsl-sql-codegen/src/main/java/com/querydsl/sql/codegen/MetaDataSerializer.java