问题标签 [jdl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
84 浏览

java - 如何在 JDL 中使用字符串值定义枚举器?

可以在 JDL 中使用 String 中的值定义枚举器,如下所示,在 Java 和 Angular 中使用结果

JDL 可能是

Java 结果可能是

0 投票
1 回答
290 浏览

java - 用 JDL 声明自己的数据类型

我想声明我自己的数据类型以便在其他实体中使用它。

JDL 似乎无法识别我已经声明的实体。如何声明自己的数据类型?

我希望能够Adress用作一个,Datatype因为 JDL 将创建一个 Java Class

0 投票
0 回答
32 浏览

database - JDL:多菜单

我尝试使用 JDL 创建多个菜单类别。在一个 CategoryItem 中有 parentID。

我已经创建了 JDL,例如:

如果客户端调用一个方法findAll。我可以像这样返回 JSON 格式吗:

0 投票
1 回答
519 浏览

jhipster - JDL 中的一对多关系

我正在尝试在 JDL 中创建具有多图像的作业表

我习惯了一对多的关系,但 jhipster 警告:

我的工作 JDL 是这样的:

我该如何解决。请帮忙!

0 投票
1 回答
50 浏览

jhipster - Jhipster 关系的 CRUd 问题

我正在导入以下 jdl 以生成一个简单的 jhipster 整体。

我在启动后检查了 h2 db,它看起来很完美,但是当我尝试使用 ui 创建新的 InventryModel 或 Inventory 实体时,下拉菜单根本不起作用。

似乎当我添加 {required} (强制执行非 null fks)时,这就是它开始走下坡路的地方

但是,如果我这样做:

crud 屏幕工作正常,但 Inventory.inventoryModel 或 InventoryModel.make 没有“非空”约束,这是我真正需要的

0 投票
0 回答
334 浏览

microservices - OpenAPI / JDL 和 Avro 模式:生成实体/对象定义的最佳实践是什么?

我正在使用 API 优先的方法构建一个微服务软件,我想在其他一些微服务中重用一些实体。我可以在 3 个不同的地方生成对象定义:来自 open-api 的 DTO、来自 JDL 的实体以及来自 Avro 模式的实体。

我创建了 openAPI 定义,从中可以生成一些 DTO。然后我用 JDL 文件格式描述了实体,我的实体允许我使用 liquibase 拥有我的关系数据库的结构。现在我想使用模式注册表 AVRO 来验证我的数据结构,我还可以从中生成一些对象定义。

知道我需要在不同服务之间共享实体的最佳实践是什么?

-- 编辑:据我所知

我可以从实体生成 AVRO 模式,将模式推送到注册表。然后允许其他服务获取模式并从中生成实体。

On service 将“负责”从 JDL 生成实体+模式,其他人可以检索模式以生成实体。

这可能是一个解决方案吗?

0 投票
0 回答
119 浏览

jhipster - 使用 JDL 应用程序选项时出错:为 'search' 获得了值 'elasticsearch'

我正在测试 jHipster 的 JDL 应用程序选项,但我无法让它工作,我想我遵循了https://www.jhipster.tech/jdl/#application_options上的文档来了解我得到的具体错误:

错误:选项的名称和值必须有效才能创建选项,为“搜索”获取值“弹性搜索”。从 JDL 解析应用程序和实体时出错错误:选项的名称和值必须有效才能创建选项,为“搜索”获得值“弹性搜索”。

这是JDL相关部分

0 投票
1 回答
43 浏览

jhipster - Jhipster JDL 是否有 CI-CD 语言可以在 JDL Like Deployment 中使用

我注意到生成器支持 jhipster ci-cd 并且 jdl 支持部署,但是找不到任何关于 jdl 是否支持 ci-cd 以及它是否支持该语言的文档。如果通过生成器可用,这似乎将成为文档和 JDL 的一部分?

0 投票
0 回答
206 浏览

visual-studio-code - JDL:找到可分组关系“OneToOne”

我是 JHipster 的新手,正在使用以下实体定义创建一个新项目:

在 VS Code 中,我收到以下警告:

  • 找到可分组关系“OneToOne”
  • 找到可分组关系“OneToMany”

目前还不清楚这些关系中的每一个可以与哪些组合来消除警告。

0 投票
1 回答
1417 浏览

jhipster - 使用 JDL 修改 JHipster 实体的正确程序

我正在尝试使用 Monolith 和基于磁盘的 H2 数据库的 JHipster(版本 6.4.1)。我在 JDL 中创建了一些实体,并让基本的 CRUD 网页正常工作。现在我对这个过程感到满意,我想添加字段并重命名其他字段。我想我可以简单地更新 JDL,重新导入 JDL,启动应用程序,然后查看更改的结果。我看到的是ValidationFailedException来自 Liquibase 和由于数据库问题而引发 HTTP 500 错误的应用程序。

我已经到处寻找有关处理这种看似常见的开发场景的正确过程的指导。我寻找指导的大多数地方(例如https://www.jhipster.tech/creating-an-entity)都讨论将 JDL 导入为一次性操作,而不讨论如何增量更改和导入JDL。

我已经尝试了一些在 SO 上看到的建议,例如不覆盖更改日志、执行liquibase:diff. 并将其添加到master.xml. 这仍然导致ValidationFailedException. 在master.xml我看到评论<!-- jhipster-needle-liquibase-add-changelog - JHipster will add liquibase changelogs here -->让我相信 JHipster 应该做繁重的工作,但我只是错过了一步。

我绝不是 JHipster 也不是 Liquibase 专家,但我想学习。我如何能够轻松地执行简单的实体更新?

[更详细的更新]

重新导入更新的 JDL 后,我设法通过使用rm -rf target/h2db/db.

我对我的更改感到满意,并且觉得提交是有序的。我看到的是

  • master.xml不变
  • 第一次 JDL 导入的变更日志已修改为包含我所做的更新

如果我了解 liquibase 的工作原理,我会期待

  1. 不会触及任何现有的变更日志
  2. 将创建一个全新的更改日志文件,其中仅包含我在这一轮中所做的 JDL 更改
  3. master.xml只是因为它包含一个额外的更改日志条目而发生了变化,指向在第 2 项中创建的文件

我是否误解了 Liquibase 如何代表数据库模式的演变?