added jpa entity generator

This commit is contained in:
Niclas Thobaben 2021-09-18 14:34:50 +02:00
parent 4ded7c18ed
commit f07de5ebcb
2 changed files with 8 additions and 6 deletions

View file

@ -10,7 +10,7 @@ module.exports = (service) => {
const jpaModels = service.models.filter(model => model.attributes.find(attr => attr.name == 'jpa_sql')) const jpaModels = service.models.filter(model => model.attributes.find(attr => attr.name == 'jpa_sql'))
const models = jpaEntites.mapJavaJpaEntity(jpaModels, service.namespace) const models = jpaEntites.mapJavaJpaEntity(service, jpaModels, service.namespace)
return models.map(model => { return models.map(model => {
return { return {

View file

@ -2,20 +2,22 @@ const utils = require('./utils')
const javaType = require('./java-type') const javaType = require('./java-type')
module.exports = { module.exports = {
mapJavaJpaEntity: (models, namespace, suffix='db') => { mapJavaJpaEntity: (service, models, namespace, suffix='db') => {
return models.map(model => { return models.map(model => {
let jpa = model.attributes.find(attr => attr.name == 'jpa_sql').value; let jpa = model.attributes.find(attr => attr.name == 'jpa_sql').value;
model.name = `${utils.pascalcase(model.name)}` model.name = `${utils.pascalcase(model.name)}Record`
model.package = `${namespace}.${suffix}`; model.package = `${namespace}.${suffix}`;
model.dir = model.package.replace(/\./g, '/') model.dir = model.package.replace(/\./g, '/')
model.fields = model.fields.map(field => { model.fields = model.fields.map(field => {
field.isEnum = service.enums.find(e => e.name == field.type.name)
field.name = utils.camelcase(field.name) field.name = utils.camelcase(field.name)
field.type = javaType.mapJavaType(field.type, namespace, 'Entity') field.type = javaType.mapJavaType(field.type, namespace, 'Record')
if(field.type.fullQualifiedName && field.type.fullQualifiedName.includes('models') && !field.isEnum) {
field.type.fullQualifiedName = field.type.fullQualifiedName.replace('models', 'db')
if(field.type.fullQualifiedName && field.type.fullQualifiedName.includes('models')) {
field.type.fullQualifiedName = field.type.fullQualifiedName.replaceAll('models', 'db')
} }
field.default = javaType.mapDefaultValue(field.type, field.default) field.default = javaType.mapDefaultValue(field.type, field.default)