main_entry_id
考虑以下实体:
@Entity
public class MainEntity {
/*...*/
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "mainEntity")
private Set<SubEntity> subEntities = new LinkedHashSet<>();
/*...*/
}
和
@Entity
@Table(uniqueConstraints = {
@UniqueConstraint(columnNames = {"foo", "bar"})
})
public class SubEntity {
/*...*/
@ManyToOne(optional = false)
private MainEntity mainEntity;
@Column(nullable = false)
private String foo;
@Column(nullable = false)
private String bar;
/*...*/
}
我创建一个新的MainEntity
1SubEntity
{foo:"a", bar:"b"}
和坚持。
MainEntity mainEntity = new MainEntity();
SubEntity sub = new SubEntity();
sub.setFoo("a");
sub.setBar("b");
sub.setMainEntity(mainEntity);
mainEntity.setSubEntities(new LinkedHashSet<>(sub));
entityManager.persist(mainEntity);
然后我更新MainEntity
通过删除上述SubEntity
和添加一个新的同样的foo和bar。
我再次尝试保存MainEntity
。
SubEntity anotherSub = new SubEntity();
anotherSub.setFoo("a");
anotherSub.setBar("b");
anotherSub.setMainEntity(mainEntity);
// replace
mainEntity.setSubEntities(new LinkedHashSet<>(Arrays.asList(anotherSub)));
entityManager.persist(mainEntity); // throws org.hibernate.exception.ConstraintViolationException: could not execute statement
我希望最初的SubEntity
被删除,新的SubEntity
被添加。
然而,第一个查询添加新的SubEntity
(之前删除旧的)不工作,因为是一个SQL唯一约束,违反了因为其他SubEntity
还没有删除。
我错过了什么?
相关内容
- 如何添加删除类的条件-
- 添加/删除类div如果节是在视窗(香草JS)
- VSCode Regex,查找函数并更改它们,并为它们添加/删除参数
- 防止在多个下拉菜单中选择相同的值工作正常,但单击添加/删除按钮后,防止重复功能不起作用
- Swift中单个项目的本地添加/删除通知
- 带添加/删除子命令的角色斜杠命令不起作用
- 如何在应用程序更新添加/删除功能在我的应用程序没有任何更新从Playstore?
- 添加/删除事件侦听器,同时保留"this"的实例上下文
- 如何从一个设备上获得添加删除程序列表,并将其与使用的其他设备进行比较
- 为复杂实体的双向多对多关联添加/删除联接表关联的最高性能方法是什么
- 如何添加/删除本地存储项目的持续时间,所以模式切换?
- 如何阻止visual studio在我的csproj的项目组中自动添加删除?
- 当使用docker-compose时,在添加/删除一个新的gem后运行bundle install
- 如何添加删除按钮应更改为撤销(10秒)的功能,点击该项目不被删除
- 添加/删除PostgreSQL中JSONB列中每个对象的属性
- Javascript任务列表(添加删除功能)
- 如何在输入空白时不添加删除按钮?
- jQuery -添加/删除类点击
- 事件侦听器在添加/删除列表的某些元素后被删除
- 使用DataTable2为Flutter中的一行添加删除操作
最新更新
- Default如何将create_function更改为匿名函数?
- Pandas组按行数百分比排序
- 从Word文档转换为PDF,显示错误的标题
- UE4 -对特定角色施加伤害
- 堆栈中的帧指针是什么?这个框架到底是什么?(汇编中的堆栈)
- 如何使string.strip()剥离多个字符?
- Git 连接问题。 "fatal: unable to connect to github.com....."
- 使用SingleStore连接两个带有整数字符串的表
- 将用户输入的值替换为React中由状态分配的值
- 如何从JSchema获取父对象名称/映射JsonObjects到新的父对象
- 为pandas数据框架列添加字符串,其中包含多个逗号分隔值
- 我试图在python中创建一个虚拟环境,但我得到错误:未能找到内置解释器python_spec=python3.5的发现
- Spark 相当于 postgres json 函数 ->
- API 无法处理我的请求,因为模板文字使 API 动态化
- 如何在VBA中引用UserForm中文本框的值?
- 获取(count(column1) + count(column2))的和
- Cypress -如何使用Cypress命令验证PDF文件中的数据
- JS reduceRight是导致数组成为对象,我怎么能修复逻辑?
- 是否有办法在SQL中创建一个临时2d数组?
- 如何使用特定列中的id在R中绑定data.frames
- 如何隐藏源代码,而我运行react-app-rewired构建和react-app-rewired启动
- React native检测设备是否是RTL
- AWS CLI "$ aws configure"创建 .awsconfig 和 .awscredentials 文件,而不是 .aws/config 和 .aws/credenatials
- 如何运行bash脚本与目标?
- 在Discord.py中发送嵌入消息的顺序
- 从列表中删除重复项,不包括开始和结束
- 从索引和值点创建矩阵
- MongoDB:在$group之后使用$setWindowFields
- 无法用聚合填充和构建文档
- 如何将应用程序池分配给不同的ASP.Net Core网站在AWS Elastic Beanstalk?
热门标签:
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium