use*_*474 5 java postgresql hibernate
我有 2 个表 user 和 userinfo。userinfo 表包含具有 UNIQUE 约束的 user_id(用户表的 id) 列。现在我有 2 个用户(primaryUser 和 secondaryUser),它们在 user 和 userInfo 表中有记录。
primaryInfo 对象包含primaryUserId,secondaryInfo 对象包含secondaryUserId
我想将 primaryUser 的 userinfo 数据交换为 secondaryUser ,反之亦然。我这样做
primaryInfo.setUserId(secondaryUser.getId());
secondaryInfo.setUserId(primaryUser.getId());
session.update(primaryInfo);
session.update(secondaryInfo);
Run Code Online (Sandbox Code Playgroud)
但是在提交事务时,它会给出类似 ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper:147 错误:重复键值违反唯一约束“user_infos_unique_user”详细信息:键(ui_user_id)=(52560087)已经存在。
你能告诉我怎么做吗..谢谢
Ash*_*wal -3
如错误所示:
userInfo 表存在唯一约束。这意味着用户必须是唯一的。所以如果你想刷两个用户ID。您必须执行以下步骤
1. 删除约束
2. 交换两个 id(与您当前拥有的代码相同)
3. 添加约束。
| 归档时间: |
|
| 查看次数: |
1677 次 |
| 最近记录: |