From 1b2db76674596faccea863aee02470196eb85b77 Mon Sep 17 00:00:00 2001 From: Niclas Thobaben Date: Sat, 18 Sep 2021 16:10:39 +0200 Subject: [PATCH] added jpa entity generator --- src/java-jpa-entity.js | 3 +++ templates/jpa-entity.java.mustache | 15 +++++++++++++++ 2 files changed, 18 insertions(+) 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