我遇到了import-jdl的问题,我不确定它为什么不起作用.我正在尝试为微服务应用程序生成实体.
我得到的只是
jdl正在导入.
但没有别的.
我使用了JDL提供的示例https://jhipster.github.io/jdl-studio/实体,没有任何修改.
我在我的Mac,Linux(Ubuntu)和Docker容器中尝试了这个,但是我得到了同样的错误.
以下是该软件的版本:
JHipster Generator: v3.3.0
npm : 3.9.2
yo : 1.8.3
Run Code Online (Sandbox Code Playgroud)
微服务应用
-------应用程序文件将在文件夹中生成:/ Users/anand/Desktop/jhexample
JHipster更新可用:3.4.0(当前:3.3.0)运行npm install -g generator-jhipster进行更新.______________________________________________________________________________
?(1/16)您想要创建哪种类型的应用程序?微服务应用
?(2/16)您的申请的基本名称是什么?jhexample
?(3/16)当您在微服务架构中运行时,哪个端口希望您的服务器运行?避免端口冲突应该是唯一的.8081
?(4/16)您的默认Java包名称是什么?com.anand
?(5/16)您想使用哪种类型的身份验证?JWT身份验证(无状态,带令牌)
?(6/16)您想使用哪种类型的数据库?MongoDB的
?(7/16)你想使用Maven或Gradle构建后端吗?Maven的
?(8/16)您想要启用国际化支持吗?没有
?(9/16)您想使用哪些测试框架?(按选择)Gatling
...略...
Server app生成成功.
anand$ yo jhipster:import-jdl ./jhipster-jdl.jh
Run Code Online (Sandbox Code Playgroud)
jdl正在导入.
我们目前有一种相当复杂的方式将 PostGIS 的 Geometry fieldtype 与 JHipster 一起使用(4.6,目前正在尝试升级到 4.14 - 进展不顺利 - 可能会为此发布另一个问题)
@Column(name = "geometry", columnDefinition="Geometry")
private Geometry geometry
我可能忘记了中间的一些步骤......
问:有没有更好的方法将 postgis 集成到 jhipster 中?
在 github 中,我只发现 jhipster 团队不想将 GIS Extensions 的支持集成到 JHipster/JDL 中,因为它们并非随处可用。
我正在尝试使用 MongoDB 数据库的 JHipster。对于我的示例,我想存储 Books。为此,我想使用 JDL 格式来生成实体、存储库、服务、dtos……
这是我的实际 JDL 文件:它有效:
entity Book {
name String required
date LocalDate required
}
dto all with mapstruct
paginate all with pager
service all with serviceImpl
Run Code Online (Sandbox Code Playgroud)
现在,我想补充一个概念,即 aBook
可以由Author
.
我可以添加一个实体Author
:
entity Author {
firstane String required
lastname LocalDate required
}
Run Code Online (Sandbox Code Playgroud)
我的具体问题是:如何关联 anAuthor
和 a Book
?
文档有这个例子:
relationship OneToMany {
Author{book} to Book{writer(name) required}
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为 NoSQL 数据库不支持关系。那么,我怎样才能做到这一点?
谢谢。
jhipster --version
5.3.4
我正在评估 JHipster 并测试它如何处理数据库 DDL 修改。在我的测试中,我创建了一个 Jhipster 项目,然后运行jhipster import-jdl model.jh
. JHipster 生成了所有的集成测试,一切看起来都很好。所以我部署到生产。但后来我意识到我定义了一组实体之间的错误关系。当我打算声明关系时,原始model.jh
文件one-to-many
声明了many-to-one
关系。
为了修复这种关系,我尝试了三种方法。首先,我尝试纠正model.jh
文件中的关系并重新运行jhipster import-jdl
. 这进行了我需要的正确更改,除了它覆盖了 liquibase 更改日志文件而不是创建仅包含增量的新更改日志条目。
所以我恢复了那个变化,并尝试使用实体子生成器。它也修改了原始变更日志文件,而不是创建增量变更日志文件。所以我恢复了这些更改以尝试另一种方法。
我手动对实体进行了更改,然后使用了mvn liquibase:diff
. 这种方法最接近我所需要的。它确实创建了一个新的变更日志,而不是更新原始文件。但是,新的变更日志试图改变的不仅仅是与关系相关的列。它试图更改表中几个不相关列的数据类型。它从现有列中删除了评论/评论。简而言之,它基本上是从头开始重新定义整个表格,其中的更改比我尝试进行的小更改所需的更改要多。我最终也恢复了这种方法。
所以,我的问题是,对于那些有经验的 JHipster 和 liquibase 用户,在生产中使用实体后,如何修改它们?您是手动创建更改日志,还是有自动生成它们的好方法?
我有一个使用生成器yo jhipster:import-jdl在Jhipster中运行的项目。结束时,一切都准备就绪,可以开始使用了。这是我想在H2永久磁盘副本中轻松进行测试,更改等操作以重新开始时要返回的状态。
我猜想每次启动项目时使用H2非永久性内存都会创建所有内容,但是有没有简单的方法可以将结果作为磁盘永久性类型呢?(请确认)
或者,更好的方法是,在启动项目之前,有没有办法让Jhipter随意地从内存更改为持久性数据库,再更改为内存持久性?
如果没有办法随意更改,我用谷歌搜索了一个解决方案,看来我应该定期删除所有对象重置嵌入式H2数据库 ,然后我不知道该怎么做才能获得一个干净的数据库。
我需要定义与预定义的“用户”表相关的新表。请帮助我为此实体图编写正确的JDL代码
我试图写文件“ mytable.jh”并导入:> jhipster import-jdl mytable.jh
entity MyTable{
userid Long, //relation to table jhi_user
}
relationship OneToMany {
User{id} to Mytable{userid}
}
Run Code Online (Sandbox Code Playgroud)
并得到
{ name: 'IllegalAssociationException',
message: 'Relationships from User entity is not supported in the declaration between User and Mytable.',
prototype:
Error
Run Code Online (Sandbox Code Playgroud) 我使用JDL Studio创建文件没有错误,但是使用jhipster cli导入文件时出现以下错误:
使用当前项目的node_modules中本地安装的JHipster版本执行jhipster:import-jdl ./thearthacker-jdl.jh 选项: 正在解析jdl。 events.js:182 投掷者 //未处理的“错误”事件 ^ 错误:ERROR! 从JDL解析实体时出错 在Environment.error(E:\ web_project \ _PROJECT \ thearthackers \ node_modules \ yeoman-environment \ lib \ environment.js:140:40) 构造函数错误(E:\ web_project \ _PROJECT \ thearthackers \ node_modules \ generator-jhipster \ generators \ generator-base.js:1686:18) 在builder.parseJDL(E:\ web_project \ _PROJECT \ thearthackers \ node_modules \ generator-jhipster \ generators \ import-jdl \ index.js:108:22) 在对象。(E:\ web_project \ _PROJECT \ thearthackers \ node_modules \ yeoman-generator \ lib \ index.js:417:23) 在E:\ web_project \ _PROJECT \ thearthackers \ node_modules \ …
在哪里可以找到有关 JDL 中的瞬间的信息?它与日期格式有何关系......?
除此之外: https: //www.jhipster.tech/jdl/
可用的字段类型和约束 以下是 JDL 支持的类型:
SQL MongoDB Cassandra Validations
Instant Instant Instant required
LocalDate LocalDate required required
ZonedDateTime ZonedDateTime required
Run Code Online (Sandbox Code Playgroud)
谢谢
我刚开始使用JHipster,我正在试验5.0.0-beta.1.我试图用React前端创建一个简单的应用程序.
我还尝试导入https://www.jhipster.tech/jdl/中描述的示例JDL模型(Oracle"人力资源"示例应用程序)
我做了一个
jhipster import-jdl my_file.jdl
Run Code Online (Sandbox Code Playgroud)
一切顺利,每个人都像宣传的那样工作.然而,在前端,所有实体都有一个"my-suffix"后缀,甚至在屏幕上它们显示为"Region My Suffix","Country My Suffix"等.
在阅读文档后,我发现了"Angular suffix"的概念并尝试过
jhipster import-jdl my_file.jdl --force --angular-suffix=""
Run Code Online (Sandbox Code Playgroud)
但无济于事.
那么,有没有办法摆脱后缀或将其设置为有意义的值?
我是使用 Jhipster 的新手。我想使用我现有的模型类创建一个 JDL 实体。这是我的模型课。
@Data
public class ResponseJson implements Serializable {
private List<String> names;
}
Run Code Online (Sandbox Code Playgroud)
可以像创建普通的 JDL 实体,
entity ResponseJson{
names String
}
Run Code Online (Sandbox Code Playgroud)
但我需要知道如何在 JDL 实体中使用 List。
在生成 j hipster 项目后,是否可以从生成的代码生成 JDL 模型或 uml 图,以便查看应用程序是如何构建的以及类之间的关系。
我正在使用 Jhipster 4.5.3 从我创建的 JDL 文件生成一些代码。因为我无法生成任何内容,所以我使用了JDL 博客示例……并且我遇到了同样的问题。
该JDL文档仍然提到:
您可以通过运行 jhipster import-jdl your-jdl-file.jh 从 JDL 文件生成实体
但是当我这样做时,我得到:
正在解析 jdl。{ name: 'NullPointerException', message: '必须传递解析的 JDL 内容和数据库类型。',
查看代码,看起来我们必须传递一个新参数,即数据库类型(BTW 文档中未提及)。再看代码,有不少数据库类型可供选择。但是我选择的任何数据库,我得到
错误:找不到 postgresql,请确保路径正确!
at Environment.error (/Users/agoncal/.config/yarn/global/node_modules/yeoman-environment/lib/environment.js:89:38)
at jdlFiles.forEach (/Users/agoncal/.config/yarn/global/node_modules/generator-jhipster/generators/import-jdl/index.js:42:34)
at Array.forEach (native)
at constructor.validate (/Users/agoncal/.config/yarn/global/node_modules/generator-jhipster/generators/import-jdl/index.js:40:31)
at Object.<anonymous> (/Users/agoncal/.config/yarn/global/node_modules/yeoman-generator/lib/index.js:417:23)
at /Users/agoncal/.config/yarn/global/node_modules/yeoman-generator/node_modules/run-async/index.js:25:25
at Promise (<anonymous>)
at /Users/agoncal/.config/yarn/global/node_modules/yeoman-generator/node_modules/run-async/index.js:24:19
at /Users/agoncal/.config/yarn/global/node_modules/yeoman-generator/lib/index.js:418:9
at runCallback (timers.js:800:20)
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?
有没有办法获取我以前导入到我的JHipster项目中的JH文件。我能够看到.jhipster文件夹中的json文件列表。但是我在哪里可以找到jh文件以及如何找回它。这样我就可以进行修改并再次导入它。例如,如何在示例jhipster项目下面获取jh文件。
导入命令
yo jhipster:import-jdl ~/Downloads/example.jh
Run Code Online (Sandbox Code Playgroud)