generator-jhipster icon indicating copy to clipboard operation
generator-jhipster copied to clipboard

export-jdl is not correctly exporting entities

Open mshima opened this issue 1 year ago • 2 comments

.yo-rc.json file
{
  "generator-jhipster": {
    "applicationType": "monolith",
    "authenticationType": "jwt",
    "baseName": "jhipsterSampleApplication",
    "blueprints": [],
    "buildTool": "maven",
    "cacheProvider": "ehcache",
    "clientFramework": "angular",
    "clientPackageManager": "npm",
    "clientTheme": "none",
    "clientThemeVariant": "",
    "clusteredHttpSession": false,
    "creationTimestamp": 1577000812973,
    "databaseType": "sql",
    "devDatabaseType": "h2Memory",
    "devServerPort": 9060,
    "dtoSuffix": "DTO",
    "embeddableLaunchScript": false,
    "enableGradleEnterprise": false,
    "enableHibernateCache": true,
    "enableSocialSignIn": false,
    "enableSwaggerCodegen": false,
    "enableTranslation": true,
    "entities": [
      "BankAccount",
      "Label",
      "Operation"
    ],
    "entitySuffix": "",
    "hibernateCache": "ehcache",
    "jhiPrefix": "jhi",
    "jhipsterVersion": "8.6.0",
    "languages": [
      "en"
    ],
    "messageBroker": false,
    "nativeLanguage": "en",
    "otherModules": [],
    "packageFolder": "io/github/jhipster/sample",
    "packageName": "io.github.jhipster.sample",
    "pages": [],
    "prodDatabaseType": "postgresql",
    "reactive": false,
    "searchEngine": false,
    "serverPort": 8080,
    "serviceDiscoveryType": false,
    "skipCheckLengthOfIdentifier": false,
    "skipClient": false,
    "skipFakeData": false,
    "skipServer": false,
    "skipUserManagement": false,
    "testFrameworks": [
      "gatling",
      "cypress"
    ],
    "useCompass": false,
    "useSass": true,
    "websocket": false,
    "withAdminUi": true
  }
}
Environment and Tools

openjdk version "21.0.2" 2024-01-16 OpenJDK Runtime Environment (build 21.0.2+13-58) OpenJDK 64-Bit Server VM (build 21.0.2+13-58, mixed mode, sharing)

git version 2.34.1

node: v20.15.0 npm: 10.7.0

Docker version 27.1.2, build d01f264

JDL for the Entity configuration(s) entityName.json files generated in the .jhipster directory
JDL -- entity definitions
@ChangelogDate("20150805124838")
entity BankAccount {
  name String required
  balance BigDecimal required
}
@ChangelogDate("20150805124936")
entity Label {
  label String required minlength(3)
}
@ChangelogDate("20150805125054")
entity Operation {
  date Instant required
  description String
  amount BigDecimal required
}

relationship OneToMany {
  BankAccount{operation} to Operation
}
relationship ManyToOne {
  Operation{bankAccount(name)} to BankAccount{operation}
}
relationship ManyToMany {
  Operation{label(label)} to Label{operation}
}

search BankAccount, Label, Operation with no
paginate Operation with infinite-scroll

.jhipster/BankAccount.json file
{
  "angularJSSuffix": "mySuffix",
  "changelogDate": "20200804163352",
  "clientRootFolder": "test-root",
  "dto": "no",
  "fields": [
    { "fieldName": "name", "fieldType": "String", "fieldValidateRules": ["required"] },
    { "fieldName": "guid", "fieldType": "UUID" },
    { "fieldName": "bankNumber", "fieldType": "Integer" },
    { "fieldName": "agencyNumber", "fieldType": "Long" },
    { "fieldName": "lastOperationDuration", "fieldType": "Float" },
    { "fieldName": "meanOperationDuration", "fieldType": "Double" },
    { "fieldName": "meanQueueDuration", "fieldType": "Duration" },
    { "fieldName": "balance", "fieldType": "BigDecimal", "fieldValidateRules": ["required"] },
    { "fieldName": "openingDay", "fieldType": "LocalDate" },
    { "fieldName": "lastOperationDate", "fieldType": "Instant" },
    { "fieldName": "active", "fieldType": "Boolean" },
    { "fieldName": "accountType", "fieldType": "BankAccountType", "fieldValues": "CHECKING,SAVINGS,LOAN" },
    { "fieldName": "attachment", "fieldType": "byte[]", "fieldTypeBlobContent": "any" },
    { "fieldName": "description", "fieldType": "byte[]", "fieldTypeBlobContent": "text" }
  ],
  "fluentMethods": true,
  "jpaMetamodelFiltering": true,
  "pagination": "no",
  "relationships": [
    { "otherEntityField": "login", "otherEntityName": "user", "relationshipName": "user", "relationshipType": "many-to-one" },
    {
      "otherEntityName": "operation",
      "otherEntityRelationshipName": "bankAccount",
      "relationshipName": "operation",
      "relationshipType": "one-to-many"
    }
  ],
  "service": "serviceImpl"
}
.jhipster/Operation.json file
{
  "changelogDate": "20150805125055",
  "clientRootFolder": "test-root",
  "dto": "no",
  "fields": [
    { "fieldName": "date", "fieldType": "Instant", "fieldValidateRules": ["required"] },
    { "fieldName": "description", "fieldType": "String" },
    { "fieldName": "amount", "fieldType": "BigDecimal", "fieldValidateRules": ["required"] }
  ],
  "fluentMethods": true,
  "pagination": "infinite-scroll",
  "relationships": [
    {
      "otherEntityField": "name",
      "otherEntityName": "bankAccount",
      "otherEntityRelationshipName": "operation",
      "relationshipName": "bankAccount",
      "relationshipType": "many-to-one"
    }
  ],
  "service": "no"
}

BankAccount.json Operation.json

Originally posted by @vmartowicz in https://github.com/jhipster/generator-jhipster/issues/27065#issuecomment-2310313401

mshima avatar Sep 17 '24 22:09 mshima

Issue check: JHipster has completed the sample check

27314 Value
.yo-rc.json :heavy_check_mark:
Entities JDL -
--- ---
Application Generation :heavy_check_mark:
Check Status
Frontend check :heavy_check_mark:
Backend check :heavy_check_mark:
E2E check :heavy_check_mark:

This check uses jhipster info or jdl output from the issue description to generate the sample. Bug report that does not contain this information will be marked as invalid.

.yo-rc.json
{
  "generator-jhipster": {
    "applicationType": "monolith",
    "authenticationType": "jwt",
    "baseName": "jhipsterSampleApplication",
    "blueprints": [],
    "buildTool": "maven",
    "cacheProvider": "ehcache",
    "clientFramework": "angular",
    "clientPackageManager": "npm",
    "clientTheme": "none",
    "clientThemeVariant": "",
    "clusteredHttpSession": false,
    "creationTimestamp": 1577000812973,
    "databaseType": "sql",
    "devDatabaseType": "h2Memory",
    "devServerPort": 9060,
    "dtoSuffix": "DTO",
    "embeddableLaunchScript": false,
    "enableGradleEnterprise": false,
    "enableHibernateCache": true,
    "enableSocialSignIn": false,
    "enableSwaggerCodegen": false,
    "enableTranslation": true,
    "entities": [
      "BankAccount",
      "Label",
      "Operation"
    ],
    "entitySuffix": "",
    "hibernateCache": "ehcache",
    "jhiPrefix": "jhi",
    "jhipsterVersion": "8.6.0",
    "languages": [
      "en"
    ],
    "messageBroker": false,
    "nativeLanguage": "en",
    "otherModules": [],
    "packageFolder": "io/github/jhipster/sample",
    "packageName": "io.github.jhipster.sample",
    "pages": [],
    "prodDatabaseType": "postgresql",
    "reactive": false,
    "searchEngine": false,
    "serverPort": 8080,
    "serviceDiscoveryType": false,
    "skipCheckLengthOfIdentifier": false,
    "skipClient": false,
    "skipFakeData": false,
    "skipServer": false,
    "skipUserManagement": false,
    "testFrameworks": [
      "gatling",
      "cypress"
    ],
    "useCompass": false,
    "useSass": true,
    "websocket": false,
    "withAdminUi": true
  }
}
.jhipster/BankAccount.json
{
  "angularJSSuffix": "mySuffix",
  "changelogDate": "20200804163352",
  "clientRootFolder": "test-root",
  "dto": "no",
  "fields": [
    { "fieldName": "name", "fieldType": "String", "fieldValidateRules": ["required"] },
    { "fieldName": "guid", "fieldType": "UUID" },
    { "fieldName": "bankNumber", "fieldType": "Integer" },
    { "fieldName": "agencyNumber", "fieldType": "Long" },
    { "fieldName": "lastOperationDuration", "fieldType": "Float" },
    { "fieldName": "meanOperationDuration", "fieldType": "Double" },
    { "fieldName": "meanQueueDuration", "fieldType": "Duration" },
    { "fieldName": "balance", "fieldType": "BigDecimal", "fieldValidateRules": ["required"] },
    { "fieldName": "openingDay", "fieldType": "LocalDate" },
    { "fieldName": "lastOperationDate", "fieldType": "Instant" },
    { "fieldName": "active", "fieldType": "Boolean" },
    { "fieldName": "accountType", "fieldType": "BankAccountType", "fieldValues": "CHECKING,SAVINGS,LOAN" },
    { "fieldName": "attachment", "fieldType": "byte[]", "fieldTypeBlobContent": "any" },
    { "fieldName": "description", "fieldType": "byte[]", "fieldTypeBlobContent": "text" }
  ],
  "fluentMethods": true,
  "jpaMetamodelFiltering": true,
  "pagination": "no",
  "relationships": [
    { "otherEntityField": "login", "otherEntityName": "user", "relationshipName": "user", "relationshipType": "many-to-one" },
    {
      "otherEntityName": "operation",
      "otherEntityRelationshipName": "bankAccount",
      "relationshipName": "operation",
      "relationshipType": "one-to-many"
    }
  ],
  "service": "serviceImpl"
}
.jhipster/Operation.json
{
  "changelogDate": "20150805125055",
  "clientRootFolder": "test-root",
  "dto": "no",
  "fields": [
    { "fieldName": "date", "fieldType": "Instant", "fieldValidateRules": ["required"] },
    { "fieldName": "description", "fieldType": "String" },
    { "fieldName": "amount", "fieldType": "BigDecimal", "fieldValidateRules": ["required"] }
  ],
  "fluentMethods": true,
  "pagination": "infinite-scroll",
  "relationships": [
    {
      "otherEntityField": "name",
      "otherEntityName": "bankAccount",
      "otherEntityRelationshipName": "operation",
      "relationshipName": "bankAccount",
      "relationshipType": "many-to-one"
    }
  ],
  "service": "no"
}

github-actions[bot] avatar Dec 18 '24 21:12 github-actions[bot]

This issue is stale because it has been open for too long without any activity. Due to the moving nature of jhipster generated application, bugs can become invalid. If this issue still applies please comment otherwise it will be closed in 7 days

github-actions[bot] avatar Jun 18 '25 00:06 github-actions[bot]