added jpa entity generator
parent
61758effd1
commit
22f9b254ce
|
@ -8,10 +8,14 @@ module.exports = {
|
|||
|
||||
let jpa = model.attributes.find(attr => attr.name == 'jpa_sql').value;
|
||||
|
||||
model.name = `${utils.pascalcase(model.name)}Record`
|
||||
model.package = `${namespace}.${suffix}`;
|
||||
model.dir = model.package.replace(/\./g, '/')
|
||||
model.fields = model.fields.map(field => {
|
||||
let entity = { ...model }
|
||||
entity.modelType = `${utils.pascalcase(model.name)}`
|
||||
entity.modelName = model.name
|
||||
|
||||
entity.name = `${utils.pascalcase(model.name)}Record`
|
||||
entity.package = `${namespace}.${suffix}`;
|
||||
entity.dir = model.package.replace(/\./g, '/')
|
||||
entity.fields = model.fields.map(field => {
|
||||
|
||||
let field_attr = field.attributes.find(attr => attr.name == 'jpa_sql')
|
||||
field_attr = field_attr || {}
|
||||
|
@ -22,7 +26,8 @@ module.exports = {
|
|||
|
||||
if(field.type.fullQualifiedName && field.type.fullQualifiedName.includes('models') && !field.isEnum) {
|
||||
field.type.fullQualifiedName = field.type.fullQualifiedName.replace('models', suffix)
|
||||
field.type.imports = field.type.imports.filter(i => !i.includes('models'))
|
||||
//field.type.imports = field.type.imports.filter(i => !i.includes('models'))
|
||||
field.isRecord = true
|
||||
}
|
||||
|
||||
field.default = javaType.mapDefaultValue(field.type, field.default)
|
||||
|
@ -41,17 +46,17 @@ module.exports = {
|
|||
for(let field of model.fields) {
|
||||
imports = [ ...imports, ...field.type.imports ]
|
||||
}
|
||||
model.imports = [ ...new Set(imports) ]
|
||||
model.implements = model.implements || []
|
||||
entity.imports = [ ...new Set(imports) ]
|
||||
entity.implements = model.implements || []
|
||||
if(model.implements.length) {
|
||||
model['implements'][ model['implements'].length - 1 ].last = true
|
||||
}
|
||||
|
||||
model.table = jpa.table || model.plural
|
||||
model.indexes = jpa.indexes
|
||||
entity.table = jpa.table || model.plural
|
||||
entity.indexes = jpa.indexes
|
||||
|
||||
|
||||
return model
|
||||
return entity
|
||||
})
|
||||
},
|
||||
mapJavaJpaRepository: (service, models, namespace, suffix='db') => {
|
||||
|
|
|
@ -52,5 +52,20 @@ public class {{name}} {
|
|||
|
||||
{{/fields}}
|
||||
|
||||
public {{modelType}} toModel() {
|
||||
{{modelType}} {{modelName}} = new {{modelName}}();
|
||||
|
||||
{{#fields}}
|
||||
{{#isRecord}}
|
||||
{{modelName}}.set{{name}}(this.{{name}} != null ? this.{{name}}.toModel() : null);
|
||||
{{/isRecord}}
|
||||
{{^isRecord}}
|
||||
{{modelName}}.set{{name}}(this.{{name}});
|
||||
{{/isRecord}}
|
||||
{{/fields}}
|
||||
|
||||
return {{modelName}};
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue