为以下场景设计Java / Hibernate应用程序视图的最佳方法是什么:
实体A与实体B,实体C和实体D具有一对多的关系。
需要在UI中的单个表中显示实体A的所有关系。
创建数据库视图并使用hibernate映射它是否有意义。
或
拥有Java中的所有逻辑并使用Hibernate完成的多个查询的结果填充POJO?
在第一种情况下,如果使用了视图,那么这样的视图是否可能?我一直无法找到有关使用实体ID,组件ID,组件类型(其中组件ID和组件类型将具有来自实体B,C,D的值)的结构创建视图的信息。
我做的事情根本就是错误吗?
答案 0 :(得分:0)
SELECT a.Id AS AID, b.Id AS BID, c.Id AS CID
FROM EntityA a
LEFT JOIN EntityB b ON a.Id = b.aId
LEFT JOIN EntityC c ON a.Id = b.aId
你可以创建一个视图,但它几乎与每次执行该查询一样,除非你的数据库能以某种方式优化它(预先计算它等)。我不是hibernate的专家,但这是一个相当简单的查询。我无法想象有任何问题。