added jpa entity generator

master
Niclas Thobaben 2021-09-18 14:09:36 +02:00
parent bcd1edd47c
commit be4fc59c56
3 changed files with 11 additions and 2 deletions

View File

@ -13,6 +13,12 @@ module.exports = {
model.fields = model.fields.map(field => {
field.name = utils.camelcase(field.name)
field.type = javaType.mapJavaType(field.type, namespace)
if(field.type.fullQualifiedName.includes('model')) {
field.type.fullQualifiedName = field.type.fullQualifiedName.replace('model', 'db') + 'Entity'
field.type.name = field.type.name + "Entity";
}
field.default = javaType.mapDefaultValue(field.type, field.default)
field.nullable = !field.required
field.isPkey = jpa.pkey == field.name

View File

@ -54,9 +54,9 @@ function getCustomType(type, namespace) {
let match = LAST_ELEMENT_REGEX.exec(type)
let name = ''
let importstatement = null
let isEnum = name.includes('enum')
if(match) {
name = utils.pascalcase(match[2])
importstatement = `${match[1].replace('enums', 'models')}.${name}`
}else {
name = utils.pascalcase(type)
@ -66,6 +66,8 @@ function getCustomType(type, namespace) {
return {
name,
baseType: name,
fullQualifiedName: importstatement,
isEnum,
imports: [ importstatement ]
}
}

View File

@ -38,7 +38,8 @@ public class {{name}} {
{{#isPkey}}
@Id{{/isPkey}}{{#isCollection}}
@OneToMany{{/isCollection}}
@Column(nullable = {{nullable}})
@Column(nullable = {{nullable}}){{#isEnum}}
@Enumerated(EnumType.STRING){{/isEnum}}
private {{{type.name}}} {{name}};
{{/fields}}