gpt4 book ai didi

java - 使用 hibernate @GeneratedValue 时手动插入

转载 作者:行者123 更新时间:2023-12-04 03:10:29 24 4
gpt4 key购买 nike

我正在使用 hibernate 为表自动生成 ID,但我需要手动插入一些与另一个表相关的行(大约 10k,一次)。我正在使用 Oracle 数据库。我怎样才能做到这一点? hibernate 如何生成值?可以用吗?

@Id
@GeneratedValue
private Long id;

最佳答案

当然这是可能的,我们一直在这样做。是否以及如何取决于您使用的 id 生成策略以及数据库的设置方式。

我们正在使用一个(定制的)表生成器来生成正 id,所以每当我们需要手动插入元素时,我们都会使用负 id。这样,这些 ID 就不会干扰 Hibernate 的 ID 生成,并且我们能够立即识别手动插入的行。

如果您不喜欢负面 ID,您可以使用不同的生成策略,例如

  • Hibernate 使用的 id 列上的序列以及手动插入
  • 一个高低表生成器(这就是我们正在使用的),初始低值设置为某个较高的值,因此基本上为手动插入保留较低的正值)
  • 一个“分配的”id 生成器,即您的应用程序定义了 id(例如员工的 employee-id),因此您知道可以手动添加哪些 id

关于java - 使用 hibernate @GeneratedValue 时手动插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45714913/

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