diff --git a/src/java-jpa-entity.js b/src/java-jpa-entity.js index 2e861c4..ce4f4db 100644 --- a/src/java-jpa-entity.js +++ b/src/java-jpa-entity.js @@ -8,6 +8,9 @@ module.exports = { let jpa = model.attributes.find(attr => attr.name == 'jpa_sql').value; + model.modelType = `${utils.pascalcase(model.name)}`; + model.modelName = model.name + model.name = `${utils.pascalcase(model.name)}Record` model.package = `${namespace}.${suffix}`; model.dir = model.package.replace(/\./g, '/') diff --git a/templates/jpa-entity.java.mustache b/templates/jpa-entity.java.mustache index bdbb763..bf066c0 100644 --- a/templates/jpa-entity.java.mustache +++ b/templates/jpa-entity.java.mustache @@ -52,5 +52,20 @@ public class {{name}} { {{/fields}} + public {{modelType}} toModel() { + {{modelType}} {{modelName}} = new {{modelType}}(); + + {{#fields}} + {{#isRecord}} + {{modelName}}.set{{name}}(this.{{name}} != null ? this.{{name}}.toModel() : null); + {{/isRecord}} + {{^isRecord}} + {{modelName}}.set{{name}}(this.{{name}}); + {{/isRecord}} + {{/fields}} + + return {{modelName}}; + } + } \ No newline at end of file