Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在JHipster 3.x中创建包含相关实体列表的实体视图?_Javascript_Angularjs_Jhipster - Fatal编程技术网

Javascript 如何在JHipster 3.x中创建包含相关实体列表的实体视图?

Javascript 如何在JHipster 3.x中创建包含相关实体列表的实体视图?,javascript,angularjs,jhipster,Javascript,Angularjs,Jhipster,杰普斯特是新手,所以请容忍我:)。我想在实体详细视图上显示相关实体的列表。我该怎么做?由于这在本应用程序中很常见,因此最好采用通用的方法来执行此操作,而不是修改每个实体(例如,通过修改生成器),但如果没有其他方法,则每个实体的编辑是可以的 举个例子:我有课程,每门课程都可能有很多课程,学生和客户都有联系。现在,在课程字段下方的课程详细信息视图中,我想为每个相关课程、学生和客户列出三个列表(例如,与SalesForce类似) 问题有两个方面:如何获得正确的数据(序列化),以及如何更改视图?如果我手

杰普斯特是新手,所以请容忍我:)。我想在实体详细视图上显示相关实体的列表。我该怎么做?由于这在本应用程序中很常见,因此最好采用通用的方法来执行此操作,而不是修改每个实体(例如,通过修改生成器),但如果没有其他方法,则每个实体的编辑是可以的

举个例子:我有课程,每门课程都可能有很多课程,学生和客户都有联系。现在,在课程字段下方的课程详细信息视图中,我想为每个相关课程、学生和客户列出三个列表(例如,与SalesForce类似)

问题有两个方面:如何获得正确的数据(序列化),以及如何更改视图?如果我手工为每个实体创建后一个(更改视图),它看起来很简单,但是如果能生成它就好了

这似乎是一个常见的用户体验主题。是否有覆盖此用例的示例应用程序

谢谢你的指点

简而言之:

1) 您使您的
CourseResource
删除了
Course
的急切获取的实体,这些实体在您的一组课程中没有
@JsonIgnore
。最后,通过调用一个课程,JSON应该包含相关的实体

详细信息(编辑)

考虑一下,您使用如下JDL生成了您的应用程序:

entity Course {
    courseName String
}

entity Lesson {
    lessonName String
}

relationship OneToMany {
    Course{lesson} to Lesson
}
然后首先转到
课程
课程,并将设置更改为以下内容:

@OneToMany(mappedBy = "course", fetch = FetchType.EAGER)
//@JsonIgnore - remove this
private Set<Lesson> lessons = new HashSet<>();
@OneToMany(mappedBy=“course”,fetch=FetchType.EAGER)
//@JsonIgnore-删除此
私有集课程=新HashSet();
这是最快的方法,但不是最有效的方法,因为每次你查询课程时,你也会加入课程。为了避免这种情况,您必须在您的存储库中构建一些@Query,在这里您可以手动加入到其中……但我现在将保持它的简单性

删除@JsonIgnore将导致课程隐式地成为课程表示的一部分,因此您可以在UI中使用所有选项将其可视化

2) 想办法用你想要的方式展示它

总的来说,我觉得有一些发电机似乎是个好主意,但可能比你想象的要难。比如,如何表示数据。如果您与该实体有多个关系,您会使用选项卡吗?如果是制表符,但只有一个关系,制表符是否仍然足够?在JHipsters central generator中,关于这一点的更多信息仍然足以决定这一点,还是应该向开发人员开放

我认为,这是值得讨论的,但是仍然可以通过JHipster模块来实现这一点

致意


附言:如果我的答案很短,请继续问我……时间不早了,我懒得把完整的答案贴下来:)

嗨,大卫-kwik rply的thx!是的,如果您能将第一部分再闪现一点,我将不胜感激:)我在这里看到一个问题,这总是API的问题:在这个特殊的情况下(实体详细视图),我想要一个包含所有依赖项的复合回复(最多一定数量的记录),这样一次往返就足够了,但有时我可能只想得到一个更精简的核心课程数据返回(续)。对于第二部分(显示):在这种情况下,我想在同一页上显示相关项目作为单独的列表(或者如果没有条目,干脆将其删除),可能还需要链接到其他详细信息屏幕,这是可行的,没有问题。(续)总的来说:我有点喜欢jhipster-jdl.jh文件和这个“超元编程”。因此,实际上,以一种我在.jh文件中实际描述我需要什么的方式扩展生成器将是很有趣的(例如,对于哪个详细信息屏幕,应该显示哪些相关列表),然后代码将自动生成,或者在运行时根据描述创建额外的DOM节点(更多的是我通常在其他框架中所做的)。(续)最后,我觉得JHipster缺少一系列简单但非常常见的示例(如这个问题)这将有助于刚接触JHipster的人了解JHipster最常用的做事方式——因为有无数种做事方式,但每个框架都有自己的理念——如何做到最好:)。首先,是的,每个框架都包含一些理念,但一个好的框架不应该为用户决定太多,给开发人员留下一些自由。您提供的详细信息越多,目标组得到的信息就越少