当前位置: 首页 > 知识库问答 >
问题:

JPA::孤儿移除和惰性集合

仲孙夕
2023-03-14

共有1个答案

越信鸥
2023-03-14

JPA实现必须保留一个集合标志,该标志已初始化或仍处于惰性状态。

因此,如果合并以前分离的实体,则合并操作将检查集合,如果只是初始化了集合,则将枚举内容,以查找从数据库中提取的实体的更改。

但是,如果实例化一个新实例并将其传递给merge,则集合将被视为已初始化,如果集合为空,则JPA将移除所有集合项。

 类似资料:
  • 问题内容: 我在使用具有以下映射的JPA删除孤立节点时遇到问题 我遇到了孤立角色挂在数据库周围的问题。 我可以使用特定于注释的Hibernate标记,但是显然我不想将解决方案绑定到Hibernate实现中。 编辑 :似乎JPA 2.0将包括对此的支持。 问题答案: 如果将它与Hibernate一起使用,则必须显式定义批注,该批注可与JPA结合使用。 如果您不打算使用Hibernate,则必须先明确

  • 最近,我问了一个关于堆栈溢出的非常类似的问题,这是另一个问题的重复。在另一个问题中,我采用了一种变通方法,解决了我的问题。现在,这一次解决方案不起作用,所有其他提到的解决方案都不起作用。此外,链接到第一个线程的其他线程的所有解决方案都不起作用。 这是我最初的问题: SQLServerException:无效的列名 这就是重复: Hibernate列名问题 我已经检查了链接和相关部分右侧的主题,但找

  • 有人知道我为什么会有这种行为吗?是我的代码出了bug还是什么问题?

  • 是否有类似的删除子记录的问题,但没有使用OlphanRemovation注释? 下面是我在模型类构造函数中的代码示例: cascade=arrayOf(CascadeType.All)的CRUD工作正常,但当将OlphanRemove=true添加到“一对多”注释中时,它无法继续工作,并抛出如下所示的异常: org.hibernate.hibernateException:cascade=“all

  • 下面是场景: 容器和项都可以存在排他性。ItemContainer只能包含对现有项和容器的引用 我想要做的是能够删除一个项目,并删除它对应的ItemContainer行(使用孤儿删除)。任何容器都应该仍然存在。 编辑1:正如JB所要求的:下面是正在使用的相关代码。 请求来自一个jsp 值得一提的是,我试图在我的jUnit测试中做同样的事情(如果需要,我可以发布测试代码和任何相关的类),但是我没有收

  • 孤儿进程概念 我们经常听别人说到孤儿进程(Orphan Process),究竟是什么呢,现在我们一次理解透。 根据维基百科的解释,孤儿进程指的是在其父进程执行完成或被终止后仍继续运行的一类进程。 孤儿进程与僵尸进程是完全不同的,后面会详细介绍僵尸进程。而孤儿进程借用了现实中孤儿的概念,也就是父进程不在了,子进程还在运行,这时我们就把子进程的PPID设为1。前面讲PID提到,操作系统会创建进程号为1