因此,我需要填充通过外键连接的不同数据库表的表视图,我发现的全部是如何从同一实体填充一个表视图,我是否需要创建一个不同的实体并用所需的信息填充它,而不是填充表格视图?
答案 0 :(得分:1)
我建议您在将实体发送到视图时考虑创建DTOs。通过使用DTO,您可以轻松地创建一个自定义对象,该对象包含要在表中显示的确切变量,例如:
Entity1 entity1 = // your db function here
Entity2 entity2 = ...
TableDTO tableDTO = new TableDTO(
// use a constructor to combine your two entities into one object!
)
// now map your dto to your table located in the view
除非使用EntityManager,否则您将无法一次加载多个数据库实体,或者在数据库中设置了自定义数据库功能。这两种方法都可以返回您想要用于视图的确切对象,但是我强烈建议您使用DTO模式,因为它可以使您的代码简单且易于更改。它还使前端和后端之间的通信更加容易,并将任何机密或不需要的db变量保留在应用程序视图之外。
如果您从应用程序中包含一些代码,将会有所帮助,但希望这足以修复表视图!