当前位置: 首页 > 知识库问答 >
问题:

数据库 - hibernate存放指定Id,防止被hibernate自动生成的id覆盖?

呼延渝
2023-12-31

设置了hibernate的Id生成策略,但是现在要存放指定的Id,要怎样才能 防止被hibernate自动生成的id覆盖?

关闭生成策略,但是现在要开启生成策略。

共有1个答案

宿衡虑
2023-12-31

保存的时候手动设置一下ID就可以了

 类似资料:
  • 我希望它改用id: 我正在对ObjectMapper进行子类化,所以也许有一些方法可以挂钩

  • 问题内容: 我在Employee类中有以下定义 现在,我想使用现有员工ID导入现有员工。即使在保存之前设置了员工ID,也会忽略分配的ID,并存储自动递增的ID。我们如何覆盖呢? 问题答案: 我编写了自己的生成器来解决此问题。 并像这样使用它:(替换包名)

  • 问题内容: 我有一个使用hibernate和注解的j2ee应用程序。我如何注释我的pojo类中的Id字段以将其设置为自动增量或自动生成。在添加bean时,我是否将该字段留在bean中为null? 问题答案: 并在保留时将其保留为。(如果使用包装器) 在某些情况下,该策略被解析为或,因此你可能需要手动将其设置为(取决于基础数据库)。 似乎+ 指定序列名称对你有用。

  • 在尝试创建具有自动生成ID的表时,我遇到了一个异常: commandAcceptanceException:“执行DDL时出错”create table seat(id bigint not null,description varchar(255),num integer not null,PROCY decimal(19,2),row char(255)not null,primary key

  • 我使用的是SpringBoot(1.4)、SpringData和jpa。使用我的表/实体之一的ID列(crudepository),我想生成自定义字符串。从一些特定的字符串加上创建数据和时间开始,以db中的下一个值结束。所以这里我不能使用,我需要一些本地查询,比如“selectnextvalue” 有没有更好的方法可以做到这一点。

  • 问题内容: 有人知道如何从1开始生成,以便下一个对象具有2,依此类推吗? 我尝试了以下方法,但不起作用: 问题答案: 您需要一个 静态的 类成员来跟踪上次使用的索引。确保还实现一个复制构造函数: 更新: 正如@JordanWhite建议的那样,您可能希望使static计数器成为 atomic ,这意味着可以安全地同时使用(即一次在多个线程中使用)。为此,将类型更改为: 增量读取和复位操作变为: