![](/img/trans.png)
[英]cascade = CascadeType.ALL doesn´t work on OneToOne relation
[英]Hibernate: CascadeType.ALL not saving all entities because of PERSIST on OneToOne relation
使用以下属性:
@Entity
@Table(name = "b")
public class B extends AbstractEntity implements Serializable, Comparable<B>, Cloneable {
...
@JsonBackReference
@OneToOne
@JoinColumn(name ="a_id")
@Cascade( value = { CascadeType.ALL } )
private A an;
}
@Entity
@Table(name = "a")
public class A implements Serializable{
@Id
@Column(name="a_id")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToOne(mappedBy = "a", fetch = FetchType.LAZY, orphanRemoval = true)
private B b;
}
它只保存第一个实体,然后为其他实体返回此错误:
org.springframework.dao.InvalidDataAccessApiUsageException: detached entity passed to persist: A; nested exception is org.hibernate.PersistentObjectException: detached entity passed to persist: A
我对PERSIST不熟悉。 我不知道仅使用CascadeType.MERGE还是CascadeType.SAVE_UPDATE是否可以解决问题,我的意思是它们起作用了,但是我更想知道如何解决持久性问题。
您如何尝试保存或实体? 通过调用“ SaveOrUpdate”方法还是“ Persist”?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.