hibernate - 如果违反了 2 列的唯一约束,则休眠更新
问题描述
我有一个问题,我找不到任何答案。
我有一个有 3 个成员的实体
@ManyToOne(optional = false)
@JoinColumn(name = "col1")
private Class1 class1;
@Column(nullable = false)
private Integer lvl;
@ManyToOne(optional = false)
@JoinColumn(name = "col2")
private Class2 class2;
对于这个实体,我想使用一个唯一约束来确保这两个外键的组合只能出现一次。所以我补充说:
@Table(uniqueConstraints = {
@UniqueConstraint(columnNames = {"col1", "col2"})
})
在类定义之上。
当违反唯一约束时,如何告诉休眠使用新的 lvl 更新旧条目,如果没有则创建新行?因为目前如果我调用 saveOrUpdate() 只会引发异常?
先谢谢了
解决方案
推荐阅读
- android - 使用改造将图像 url 存储到数据库
- r - R/闪亮选择数据表中的DataFrom列
- resources - 厨师执行资源不适用于 Rhel 8
- macos - LaunchD Rclone 挂载脚本未加载
- python - 为什么在 Linux (NAS) 上安装 pandas 时出现错误?
- javascript - 我可以使获取请求看起来像浏览器吗?
- google-analytics - 带条件的 Google 数据洞察总和
- javascript - 为什么在我输入文本框时字符会从文本框中删除?
- java - java中cmd.exe中Unicode字符的部分显示,shell命令中没有字符
- javafx - javaFX:MediaPlayer 的 seek 方法挂起播放器而没有错误消息或状态更改