gpt4 book ai didi

java - JPA 中的继承映射

转载 作者:行者123 更新时间:2023-12-02 04:36:13 25 4
gpt4 key购买 nike

我正在浏览 JPA specification将继承关系映射到关系模型的可用策略。我不太明白规范中的以下陈述:

每个类层次结构策略的单个表:

“该策略为覆盖整个实体类层次结构的实体和查询之间的多态关系提供了良好的支持”

每个具体类策略的表:

“该策略对多态关系的支持很差”

谁能进一步澄清这些策略如何影响多态性的陈述的含义?

最佳答案

考虑我们有一个如下的域模型 enter image description here

请研究下面提供的链接。

<强> Single Table Strategy :

enter image description here

  • 所有数据都存储在单个表中
  • 因此在检索或插入数据时不需要复杂的联接
  • 多态是指多个实体,在一个表中,这些实体都存储在一个表中。因此不需要连接
  • 但这会浪费数据库空间,因为列需要可为空 single table example

<强> Joined Table Strategy enter image description here

  • 实体数据存储在单独的表中
  • 插入和检索实体数据需要联接
  • 由于需要连接,插入和检索变得繁重
  • 节省数据库空间,因为列不必为空

Joined table example

<强> Table per concrete class enter image description here - 同样,数据存储在多个表中,因此

Table per concrete class exmaple

这完全取决于您的要求。如果您有足够的数据库并且需要性能,那么单表策略是最佳选择。如果有数据库限制,则需要遵循其他策略。

关于java - JPA 中的继承映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29408829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com