jhipster - 如何为简单的 Region > Country > State > City 下拉菜单设计 Jhipster JDL 关系
问题描述
我不知道如何使实体之间的关系使它们相互依赖。jdl 本身是否足以拥有如下实体;
- 添加新区域:
- 地区名称
- 添加新国家:
- 地区(下拉)
- 国家的名字
- 添加新状态:
- 地区(下拉)
- 国家(下拉“列表随着地区的变化而更新)
- 州名
- 添加新城市:
- 地区(下拉)
- 国家(下拉“列表随着地区的变化而更新)
- 州(下拉“列表随着国家的变化而更新)
- 城市名
- 添加新地址:
- 地区(下拉)
- 国家(下拉“列表随着地区的变化而更新)
- 州(下拉“列表随着国家的变化而更新)
- 城市(下拉“列表随着州的变化而更新)
- 地址
我试过这个;
entity Region {
regionName String required
}
entity Country {
countryName String required
}
entity State {
stateName String required
}
entity City {
cityName String required
}
entity Address {
addressLine String required
}
relationship ManyToOne {
Country{region(regionName)} to Region,
State{country(countryName)} to Country,
City{state(stateName)} to State,
Address{city(cityName)} to City
}
paginate all with infinite-scroll
service all with serviceImpl
这个 jdl 只显示它的父级。我想创建一个新的地址实体,其中包含所有父级的区域。
如果我尝试与所有父母建立关系,所有下拉列表都是单独的。您可以选择亚洲 > 美国 > 巴黎。
将地址与具有正确依赖关系的地区、国家、州、城市相关联的正确方法是什么?
解决方案
JDL 对我来说看起来不错,只是 JHipster 不会生成具有传递关系的客户端视图。您必须手动编写它。
在服务器端,您可以使用 DTO 将所有数据合并到一个请求中。添加dto * with mapstruct
到 JDL 的底部,然后编辑生成的映射器。
推荐阅读
- r - 将 blogdown 与 DataCamp Light 集成
- java - spring security 5 自定义身份验证过滤器
- php - XML 数据打印带标签
- c# - 不明确的字符串日期到日期时间/日期 C#
- javascript - 如果使用 Jsx,如何在 Vuejs 2.x 中使用 Fragments?
- knockout.js - foreach 内淘汰 foreach
- python - Python:如何确保您的代码不会被您使用的库意外导入?
- eclipse - 在将代码上传到 lambda 期间发生内部错误
- php - 我需要 PHP 中的数学解决方案或编程解决方案
- php - 如何创建具有自身值的变量+另一个变量