gpt4 book ai didi

inheritance - 无法在 JPA 中使用带有策略 TABLE_PER_CLASS 的身份列键生成?

转载 作者:行者123 更新时间:2023-12-04 16:55:07 25 4
gpt4 key购买 nike

这个问题与 this thread 中提到的问题有关。 .
在 MySQL 上使用 JPA 时,我也面临同样的问题。只有当我将生成策略更改为 TABLE 时才能解决它。

但问题是,这个问题背后的原因是什么,为什么将策略更改为 TABLE 是解决方案(这在 the thread 中仍未得到解答)?

最佳答案

要通过继承层次结构(JPA 要求)拥有唯一的 id,显然不能使用 TABLE_PER_CLASS 和 IDENTITY 来做到这一点,因为 IDENTITY 在一个表上工作,并且现在继承层次结构中有多个“根”表。

例如抽象基类“Base”和子类“Sub1”、“Sub2”、“Sub3”。
所以你有实际的表“SUB1”、“SUB2”、“SUB3”。因此,如果使用 IDENTITY 那么这将等同于使用 MySQL 时列上的“自动增量”。因此 SUB1 有它的 id,SUB2 有它的 id,而 SUB3 有它的 id ......它们是独立的,因此可以在 id 中发生冲突......所以你在继承层次结构中不再有唯一的 id。

关于inheritance - 无法在 JPA 中使用带有策略 TABLE_PER_CLASS 的身份列键生成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8767898/

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