![]() |
1
364
解决方案很简单,只需使用
|
![]() |
2
150
这是一个典型的双向一致性问题。本文对此进行了详细讨论 this link 以及 this link. 根据前2个链接中的文章,您需要修复双向关系两侧的setter。一侧的示例setter位于 this link. 更正setters后,您希望将实体访问类型声明为“Property”。声明“属性”访问类型的最佳实践是将所有注释从成员属性移动到相应的getter。值得注意的是,不要在实体类中混合使用“Field”和“Property”访问类型,否则JSR-317规范将无法定义该行为。 |
![]() |
3
55
从子实体中删除级联
(
因此你得到了例外
“已分离实体已传递给persist”
你通常不想在孩子和父母之间传播。不幸的是,书中(即使是好的书)和网络中都有许多代码示例,它们正是这样做的。我不知道,为什么……也许有时候只是简单地一遍又一遍地抄袭,没有多少思考。。。
|
![]() |
4
32
|
![]() |
5
28
因此,您需要删除
设置协会双方
只要有双向关联,就需要使用
|
![]() |
6
16
被附加到事务,而是返回一个新的、现在已附加的实体。这意味着,如果任何人仍然拥有旧的实体对象,对其所做的更改将被悄悄忽略,并在提交时丢弃。 您没有在这里显示完整的代码,因此我无法再次检查您的事务模式。达到这种情况的一种方法是,如果在执行合并和持久化时没有活动的事务。在这种情况下,持久性提供程序将为您执行的每个JPA操作打开一个新事务,并在调用返回之前立即提交和关闭它。如果是这种情况,合并将在第一个事务中运行,然后在合并方法返回后,事务完成并关闭,返回的实体现在被分离。然后,它下面的persist将打开第二个事务,并尝试引用已分离的实体,给出一个异常。除非您非常清楚自己在做什么,否则请始终将代码包装在事务中。
|
![]() |
7
14
可能在这种情况下,您获得了
|
![]() |
8
8
实体
保存实体(JUnit)
修理
结论: |
![]() |
9
7
我基于JPA的Spring数据回答:我只是添加了一个
工作原理子实体立即分离,因为没有活动的Hibernate会话上下文。提供Spring(数据JPA)事务可以确保存在Hibernate会话。 参考:https://vladmihalcea.com/a-beginners-guide-to-jpa-hibernate-entity-state-transitions/ |
![]() |
10
6
例如
|
![]() |
11
5
在实体定义中,您没有指定
@JoinColumn
对于
编辑:嗯,我想如果你使用
|
![]() |
12
4
即使正确声明了注释以正确管理一对多关系,您仍然可能会遇到这种精确的异常。添加新的子对象时,
或者,但实际上是相同的,此注释声明会导致相同的异常:
|
![]() |
13
1
可能是OpenJPA的bug,回滚时重置@Version字段,但pcVersionInit保持为true。我有一个声明@Version字段的实体。我可以通过重置pcVersionInit字段来解决这个问题。但这不是一个好主意。我认为当有级联持久实体时,它不起作用。
|
![]() |
14
1
|
![]() |
15
1
|
![]() |
16
1
@OneToMany(mappedBy=“xxxx”,cascade={CascadeType.MERGE,cascadeTipe.PERSIST,CascadeType.REMOVE})为我工作。 |
![]() |
17
1
这发生在我身上,因为我没有设置Id(Id不是自动生成的)。并试图用关系“manytone”来拯救 |
![]() |
18
1
下面是我的实体。标记id是用@GeneratedValue(策略=GenerationType.AUTO)注释的,这意味着id将由Hibernate生成。 创建实体对象时不要设置它 . 请注意,如果实体id字段没有用@GeneratedValue标记,那么不手动为id分配一个值也是一种犯罪,这将受到警告 IdentifierGenerationException:在调用save()之前,必须手动分配此类的ID
当我试图保存它时,它正在扔它
我所需要修复的就是删除main方法中simpleObject的id设置行。 |
![]() |
19
0
就我而言,我在提交交易时 方法。 关于更改 坚持 到 方法,得到解决。 |
![]() |
20
0
这样就行了。 |
![]() |
21
0
我遇到这个问题的另一个原因是事务中的实体不受Hibernate版本控制。
添加
|
![]() |
22
0
要解决这个问题,不需要使用特定的装饰器。只需使用以下方式合并实体:
|