jhipster / jhipster-core

JHipster Domain Language, used by JHipster UML and JDL-Studio to generate entities
Apache License 2.0
346 stars 116 forks source link

Wrong imports when running import-jdl with an app that uses mongodb #427

Closed Falydoor closed 4 years ago

Falydoor commented 4 years ago
Overview of the issue

Compilation errors below:

[ERROR] /Users/theo/Documents/perso/jhipster-cache/src/main/java/com/mycompany/myapp/domain/Country.java:[2,33] package org.hibernate.annotations does not exist
[ERROR] /Users/theo/Documents/perso/jhipster-cache/src/main/java/com/mycompany/myapp/domain/Country.java:[3,33] package org.hibernate.annotations does not exist
Motivation for or Use Case

Project should compile.

Reproduce the error

Generate the app using the JDL below:

JDL file
application {
    config {
        databaseType mongodb
    }
    entities Country
}
entity Country {
    name String
}
Related issues
Suggest a Fix

Looks like enableHibernateCache equals true instead of being false when having a non-SQL database. Maybe the parser in JHipster Core should force false when importing a JDL with a non-SQL database.

JHipster Version(s)
jhipster@0.0.1-SNAPSHOT /Users/theo/Documents/perso/jhipster-cache
└── generator-jhipster@6.6.0
JHipster configuration, a .yo-rc.json file generated in the root folder
.yo-rc.json file
{
  "generator-jhipster": {
    "databaseType": "mongodb",
    "devDatabaseType": "mongodb",
    "enableHibernateCache": false,
    "enableSwaggerCodegen": false,
    "enableTranslation": true,
    "jhiPrefix": "jhi",
    "languages": ["en", "fr"],
    "messageBroker": false,
    "nativeLanguage": "en",
    "packageName": "com.mycompany.myapp",
    "packageFolder": "com/mycompany/myapp",
    "prodDatabaseType": "mongodb",
    "searchEngine": false,
    "serviceDiscoveryType": false,
    "skipClient": false,
    "skipServer": false,
    "testFrameworks": [],
    "websocket": false,
    "jhipsterVersion": "6.6.0",
    "baseName": "jhipster",
    "buildTool": "maven",
    "skipUserManagement": false,
    "clientPackageManager": "npm",
    "applicationType": "monolith",
    "authenticationType": "jwt",
    "cacheProvider": "ehcache",
    "clientFramework": "angularX",
    "clientTheme": "none",
    "clientThemeVariant": "",
    "serverPort": "8080",
    "useSass": true,
    "jwtSecretKey": "bXktc2VjcmV0LXRva2VuLXRvLWNoYW5nZS1pbi1wcm9kdWN0aW9uLWFuZC10by1rZWVwLWluLWEtc2VjdXJlLXBsYWNl",
    "embeddableLaunchScript": false,
    "creationTimestamp": 1580398599203,
    "entitySuffix": "",
    "dtoSuffix": "DTO",
    "otherModules": [],
    "blueprints": []
  },
  "entities": ["Country"]
}

JDL for the Entity configuration(s) entityName.json files generated in the .jhipster directory
JDL entity definitions
entity Country {
  name String
}

Environment and Tools

openjdk version "12.0.2" 2019-07-16 OpenJDK Runtime Environment AdoptOpenJDK (build 12.0.2+10) Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.15.1, JRE 12 Mac OS X amd64-64-Bit Compressed References 20190915_201 (JIT enabled, AOT enabled) OpenJ9 - 0f66c6431 OMR - ec782f26 JCL - 9984ea0dd9 based on jdk-12.0.2+10)

git version 2.25.0

node: v10.18.1

npm: 6.13.4

yarn: 1.21.1

Docker version 19.03.5, build 633a0ea

docker-compose version 1.25.2, build 698e2846

MathieuAA commented 4 years ago

Thanks for the report. Once I get back I'll transfer this in JCore.

MathieuAA commented 4 years ago

Things to do here: