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 models = jpaEntites.mapJavaJpaEntity(jpaModels, service.namespace)
const models = jpaEntites.mapJavaJpaEntity(service, jpaModels, service.namespace)
return models.map(model => {
return {

View file

@ -2,20 +2,22 @@ const utils = require('./utils')
const javaType = require('./java-type')
module.exports = {
mapJavaJpaEntity: (models, namespace, suffix='db') => {
mapJavaJpaEntity: (service, models, namespace, suffix='db') => {
return models.map(model => {
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.dir = model.package.replace(/\./g, '/')
model.fields = model.fields.map(field => {
field.isEnum = service.enums.find(e => e.name == field.type.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)