@Override
    protected void constructorsForVariables(CodeWriter writer, EntityType model) throws IOException {
        super.constructorsForVariables(writer, model);

        String localName = writer.getRawName(model);
        String genericName = writer.getGenericName(true, model);

        if (!localName.equals(genericName)) {
            writer.suppressWarnings("all");
        }
        writer.beginConstructor(new Parameter("variable", Types.STRING),
                                new Parameter("schema", Types.STRING),
                                new Parameter("table", Types.STRING));
        writer.line(SUPER,"(", writer.getClassConstant(localName) + COMMA
                + "forVariable(variable), schema, table);");
        constructorContent(writer, model);
        writer.end();

        writer.beginConstructor(new Parameter("variable", Types.STRING),
                                new Parameter("schema", Types.STRING));
        writer.line(SUPER, "(", writer.getClassConstant(localName), COMMA,
                "forVariable(variable), schema, \"", model.getData().get("table").toString(), "\");");
        constructorContent(writer, model);
        writer.end();
    }
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