gpt4 book ai didi

hibernate ,更改标识符/主键

转载 作者:行者123 更新时间:2023-12-03 13:21:06 27 4
gpt4 key购买 nike

当我尝试更改我的 @ID 时收到以下异常在 @Entity .

identifier of an instance of com.google.search.pagerank.ItemEntity was altered from 1 to 2.

我知道我正在更改表中的主键。我正在使用 JPA 注释。

我通过使用这个单一的 HQL 查询解决了这个问题: update Table set name=:newName where name=:oldName
而不是使用更多的OO方法:
beginTransaction();
T e = session.load(...);
e.setName(newName);
session.saveOrUdate(e);
commit();

知道差异是什么吗?

最佳答案

实际上,根据 JPA 规范,禁止更改主键:

The application must not change the value of the primary key[8]. The behavior is undefined if this occurs.[9]



(来自 EJB 3 持久性 (JPA) 规范,第 2.1.4 段)

关于 hibernate ,更改标识符/主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/734461/

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