- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 hibernate 时遇到了奇怪的问题。我的数据库关系如下所示:
Parent
@OneToMany(mappedBy = "parent", orphanRemoval = true)
@Cascade({CascadeType.ALL})
List<Child1> children1
Child1
@ManyToOne
@JoinColumn(name = "PARENT_ID")
Parent parent;
@OneToMany(mappedBy = "child1", orphanRemoval = true)
@Cascade({CascadeType.ALL})
List<Child2> children2;
Child2
@ManyToOne
@JoinColumn(name = "CHILD1_ID")
Child1 child1;
children1
和 children2
列表的大小始终为 1。我们有这样的场景:清除 Parent.children1 列表(从数据库中删除行)并向该列表添加新的子项(向数据库插入新行)。不要问为什么我们要删除并插入新行而不是更新现有行,让我们假设这是必要的。这个场景看起来像:
- Clear
Parent.children1
list- Create new
Child2
- Create new
Child1
and add object created in point 2 (Child2
) tochildren2
list- Add object created in point 4 (
Child1
) tochildren1
list- Save
Parent
.
这是在一次事务中完成的。当在此事务期间我尝试在数据库中查找父项时(使用 hibernate ,在不同的事务中),我发现有时 children2
列表为空。怎么了?在将parent保存到数据库之前,我们总是向children2
列表添加一个Child2
对象,因此不应该出现children2
列表为空的情况。
最佳答案
请您执行以下步骤:
Parent parent = entityManager.find(Parent.class, id);
entityManager.lock(parent, LockModeType.WRITE);
parent.children1.clear();
看到结果了吗?
关于java - Hibernate孤儿移除-事务隔离级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37945118/
我四处寻找是否有任何合适的方法来处理 CSS3 多列中的寡妇和孤儿,但很失望地发现没有。我自己尝试了 widow 和 orphan 属性,但它们什么也没做。 有人知道使用 CSS3 多列并处理寡妇和孤
从 Blobstore 中删除孤立 blob 的最有效方法是什么? 应用功能和范围: 一个(已登录)用户想要创建一个包含一些常规内容的帖子数据存储区字段(例如姓名、姓氏、评论)和 blob(图像)。
从 Blobstore 中删除孤立 blob 的最有效方法是什么? 应用功能和范围: 一个(已登录)用户想要创建一个包含一些常规内容的帖子数据存储区字段(例如姓名、姓氏、评论)和 blob(图像)。
我可以使用哪种级联类型以及在何处让 Hibernate 在不再有“事物”引用图像时自动删除该图像? (基本上就是 Hibernate 中的垃圾收集) 数据库:事物表-图像表,是多对一的,所以很多事物可
我是一名优秀的程序员,十分优秀!