如何在JHipster 3.x中创建具有相关实体列表的实体视图
How to create an entity view with list of related entities in JHipster 3.x?
JHipster新手,请耐心听我说:)。我想在实体详细信息视图上显示相关实体的列表。我该怎么做呢?由于这在此应用程序中很常见,因此最好有一种通用的方式来完成此操作,而不是修改每个实体(例如通过修改生成器),但如果没有其他方法,则可以对每个实体进行编辑。
一个例子:我有课程,每个课程可能有许多课程,学生和客户连接。现在,在课程字段下面的课程详细信息视图中,我想为每个相关的课程、学生和客户提供三个列表(例如,类似于SalesForce所做的)。
这个问题有两个方面:如何获得适当的数据(序列化),以及如何更改视图?后者(更改视图)似乎很简单,如果我手工为每个实体,但会很好有它生成。
这似乎是一个常见的UX主题。是否有一个示例应用程序覆盖了这个用例?
谢谢你的指点!
总之:
1)你让你的CourseResource
交付急切获取实体的Course
,其中有没有 @JsonIgnore
在你的课程集。最后,通过调用一个课程,JSON应该包含相关的实体。
detail (edit) :
考虑一下,您使用这样的jdbc生成应用程序:
entity Course {
courseName String
}
entity Lesson {
lessonName String
}
relationship OneToMany {
Course{lesson} to Lesson
}
然后首先进入Course
类,将Set更改为:
@OneToMany(mappedBy = "course", fetch = FetchType.EAGER)
//@JsonIgnore - remove this
private Set<Lesson> lessons = new HashSet<>();
这是最快的方法,但不是性能最好的,因为每次查询课程时,您也加入了课程。为了避免这种情况,您必须在您的存储库中构建一些@Query,然后手动连接到它…但我现在将保持简单。
删除@JsonIgnore将导致课程隐式地成为课程表示的一部分,因此您将在UI中获得可视化的所有选项
2)找到某种方式来显示它,以你想要的方式
总的来说,我觉得有一些生成器似乎是个好主意,但它可能比你想象的要困难。比如,如何表示数据。如果您与该实体有多个关系,您会使用选项卡吗?如果有制表符,但只有一个关系,制表符还够用吗?在JHipsters中央生成器中决定这个是否足够,还是应该向开发人员开放?我认为,这值得讨论,但无论如何,可以做一些JHipster模块来完成这个
问好<罢工>注:如果我的回答太简短,请问我……只是太晚了,我懒得贴一个完整的答案:)罢工>
- 要求输入在数据列表中
- 从javascript创建一个列表
- 如何使用jQuery选择下拉列表的值
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- 如何使用json将对象列表从java转换为javascript
- 区分JSON中的矩阵和列表列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 接受不在列表中的值-引导组合框
- 禁用jQuery中的下拉列表
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 如何在javascript中迭代数字列表
- 如何在按钮中显示下拉列表中选定的元素
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 如何将选择列表添加到自定义实体的案例表单中(注意:替换普通查找字段)
- 使用Json In Javascript+MVC3解析实体列表
- 如何刷新实体主页视图上的列表
- 如何在JHipster 3.x中创建具有相关实体列表的实体视图