Java 从表中删除记录如何使用Hibernate(HQL)重新生成表中已删除行的id

Java 从表中删除记录如何使用Hibernate(HQL)重新生成表中已删除行的id,java,hibernate,hql,Java,Hibernate,Hql,我有一张桌子。该表中的一条记录被删除(假设id为1)。如何使用hibernate插入具有相同id的新记录?(现在我正在使用生成的类型自动) 除了为id创建getter和setter之外,还有其他解决方案吗?通常,在SGBD中,您使用一个序列根据需要生成一个新的唯一id。 当存在删除时,您通常不关心重用释放的插槽。如果您需要这样做,它必须通过一个定制开发,通过保留一个可用ID池。这意味着您需要从已删除的实体中回收ID,并管理对它的并发访问,以保持唯一性。此池也必须持久化。 所有这些都有成本、复杂性

我有一张桌子。该表中的一条记录被删除(假设id为1)。如何使用hibernate插入具有相同id的新记录?(现在我正在使用生成的类型自动)


除了为id创建getter和setter之外,还有其他解决方案吗?

通常,在SGBD中,您使用一个序列根据需要生成一个新的唯一id。
当存在删除时,您通常不关心重用释放的插槽。如果您需要这样做,它必须通过一个定制开发,通过保留一个可用ID池。这意味着您需要从已删除的实体中回收ID,并管理对它的并发访问,以保持唯一性。此池也必须持久化。
所有这些都有成本、复杂性和性能


如果您想要实现一个定制的id生成器,有几种资源,比如,但是您需要实现id回收策略,这当然更复杂,并且在有删除时可能不容易在hibernate中挂钩

简单地说:没有。您应该跟踪现有ID,以便自己生成新ID。Hibernate和DBMS都无法填补ID缺口。澄清了这个问题。很难理解他们在问什么。