hibernate不能更新主键吗?

Schuman 2005-10-21 04:20:43
表的PK是varchar(10)
generator是assigned

String pk = "D06";
link = (Link) session.load(Link.class, pk);
link.setLinkId("D12");
session.update(link);

tx.commit();

运行时更新异常,why?
而如果更新其他字段,ok的。
...全文
281 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Schuman 2005-10-25
  • 打赏
  • 举报
回复
有解吗?
Schuman 2005-10-24
  • 打赏
  • 举报
回复
但是我直接操作数据库却可以修改的呀!难道一定要先删除在增加吗?
miaoliujun 2005-10-22
  • 打赏
  • 举报
回复
你这个不是更新了,应该是copy一条新数据,应该用save去存储,如果你要这么做

可以先得到这个数据,删除主键为D06的数据,再插入D12的数据

数据库中是以主键为标识唯一的,你去执行update的时候数据库必须有D12才可以,而且该操作也对D06没有影响
javaren555 2005-10-22
  • 打赏
  • 举报
回复
主键能更新吗?不能。

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧