JHipster导入JDL文件提示校验实体需指定数据库类型错误如何解决
错误原因分析
该报错Database type is required to validate entities本质是JHipster在解析JDL实体时,无法获取到对应的数据库类型配置完成实体校验,触发场景通常有两种:
- 在未初始化JHipster项目的空目录下,直接导入仅包含实体定义、没有应用配置的JDL文件
- JDL文件的应用配置块、或是已初始化项目的
.yo-rc.json配置中缺失databaseType字段
解决方案
按照你的实际使用场景选择对应操作即可:
场景1:仅用JDL Studio编写了实体定义,未补充应用配置
方案A:先初始化项目再导入实体- 在目标项目目录执行
jhipster命令,按照向导提示完成项目初始化,注意正确选择你需要使用的数据库类型 - 项目初始化完成后,执行原导入命令即可:
jhipster jdl ~/Pobrane/awex.jdl方案B:直接在JDL文件头部补充应用配置
打开awex.jdl文件,在原有实体定义的上方添加应用配置块,示例如下(配置项根据你的实际需求修改):application { config { baseName awex applicationType monolith packageName com.ultimatesystems.awex authenticationType jwt databaseType sql // 必须配置项,可根据需求替换为mongodb、cassandra等你使用的数据库类型 devDatabaseType postgresql prodDatabaseType postgresql buildTool maven clientFramework vue } entities * // 声明将JDL中所有实体关联到当前应用 } // 下方保留你原本编写的所有实体定义内容修改保存后重新执行导入命令即可。
- 在目标项目目录执行
场景2:已提前初始化过JHipster项目,导入时仍报错
打开项目根目录下的.yo-rc.json文件,检查generator-jhipster配置块下是否存在databaseType字段,若缺失或值为空,补全你实际使用的数据库类型后,重新执行导入命令即可。
内容的提问来源于stack exchange,提问作者user15545005
相关产品推荐
相关产品推荐

