0

I am importing the following jdl to generate a simple jhipster monolith.

I inspected the h2 db after startup and it seems perfect, however when i try to use the ui to create new InventryModel or Inventory entities, the drop downs are not working at all.

It seems when I added the {required} (to enforce non null fks) that this is where it started to go downhill

  config {
    baseName hipcars
    packageName com.hipcars
    applicationType monolith
    databaseType sql
    devDatabaseType h2Disk
    prodDatabaseType mysql
    cacheProvider ehcache
    enableHibernateCache true
    authenticationType jwt
    clientFramework angularX
    useSass false
    clientPackageManager npm
    enableTranslation false
    languages [ en, zh-cn, es ]
    messageBroker kafka
    searchEngine elasticsearch
    serverPort 8080
    websocket false
    testFrameworks [protractor, cucumber, gatling]
    buildTool gradle
  }
  entities *
}

entity Make {
  name String required unique maxlength(20),
  desc String
}

entity InventoryModel {
  name String required unique maxlength(20),
  vehicleType VehicleType
  desc String
}

enum VehicleType {
  SEDAN,
  COUPE
}

entity Inventory {
    vin String required unique maxlength(17),
  comment   String maxlength(128)
}

relationship ManyToOne {
  InventoryModel{make(name) required} to Make,
  Inventory{inventoryModel(name) required} to InventoryModel
}

dto * with mapstruct

paginate * with pagination
service * with serviceClass
search * with elasticsearch
filter *

if I however do this:

application {
  config {
    baseName hipcars
    packageName com.hipcars
    applicationType monolith
    databaseType sql
    devDatabaseType h2Disk
    prodDatabaseType mysql
    cacheProvider ehcache
    enableHibernateCache true
    authenticationType jwt
    clientFramework angularX
    useSass false
    clientPackageManager npm
    enableTranslation false
    languages [ en, zh-cn, es ]
    messageBroker kafka
    searchEngine elasticsearch
    serverPort 8080
    websocket false
    testFrameworks [protractor, cucumber, gatling]
    buildTool gradle
  }
  entities *
}

entity Make {
  name String required unique maxlength(20),
  desc String
}

entity InventoryModel {
  name String required unique maxlength(20),
  vehicleType VehicleType
  desc String
}

enum VehicleType {
  SEDAN,
  COUPE
}

entity Inventory {
    vin String required unique maxlength(17),
  comment   String maxlength(128)
}

relationship ManyToOne {
  InventoryModel{make(name)} to Make{required},
  Inventory{inventoryModel(name)} to InventoryModel{required}
}

dto * with mapstruct

paginate * with pagination
service * with serviceClass
search * with elasticsearch
filter *

the crud screens work fine, BUT there is no 'not null' constraint on Inventory.inventoryModel or InventoryModel.make which is what I really need

1977
  • 2,580
  • 6
  • 26
  • 37

1 Answers1

0

Try this:

relationship ManyToOne {
  InventoryModel{make(name) required} to Make,
  Inventory{inventoryModel(name) required} to InventoryModel
}

Instead of this:

relationship ManyToOne {
  InventoryModel{make(name)} to Make{required},
  Inventory{inventoryModel(name)} to InventoryModel{required}
}
crowne
  • 8,456
  • 3
  • 35
  • 50