【发布时间】:2015-03-11 09:15:40
【问题描述】:
我想知道是否可以创建一个从多个表中获取数据的实体。
我有一个基于 TableA 的实体。
特殊之处是我还需要TableD的数据,它链接到TableC,它链接到TableB,最后用TableA id链接到TableA
我完全知道我可以在 TableB、C、D 上创建一个实体。 但我不需要这些表上的任何数据,除了 TableD。 B 和 C 只是“一条可以遵循的道路”。
http://img11.hostingpics.net/pics/878537schema.png
我看到了可以在 EntityA 上使用的 @SecondaryTables 注释,但您似乎只能加入 EntityA 的 PK。
如果您知道可以防止我创建无用实体的解决方案,我将不胜感激。
【问题讨论】:
-
创建一个数据库视图并将一个实体映射到那个?当您真正想从它们各自的表中获取数据时,我看不到如何将实体标记为无用。
-
@Gimby 我用架构更新了我的帖子以突出我的问题。我正在使用我没有创建的数据库,所以我必须使用它
-
@Gimby 建议的视图方法是我能看到的唯一方法,如果您不想映射 B、C、D。然后,您可以使用视图作为辅助表将 A 的字段映射到此视图,或者将视图作为与 A 一对一的实体。
-
多谢两位,我会加油的
标签: java hibernate jpa spring-boot multiple-tables