我正在尝试运行此基本代码。 模型1。
public class CustomEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@JsonManagedReference
@OneToMany(mappedBy = "customEntity", fetch = FetchType.LAZY, cascade = { CascadeType.ALL }, orphanRemoval = true)
Set<CustomEntitySystem> customEntitySys;
位于CustomEntity下的模型2。
public class CustomEntitySystem implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@ManyToOne
@JsonBackReference
@JoinColumn(name = "CUSTOM_ENTITY_ID")
private CustomEntity customEntity;
@JsonManagedReference
@OneToMany(mappedBy = "customEntitySystem", fetch = FetchType.LAZY, cascade = { CascadeType.ALL }, orphanRemoval = true)
private Set<CustomEntityRole> customEntityRole;
}
现在我们在CustomEntitySystem下拥有第三个模型
public class CustomEntityRole implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@ManyToOne
@JoinColumn(name = "CUSTOM_ENTITY_SYS_ID")
@JsonBackReference
private CustomEntitySystem customEntitySystem;
@Column(name = "CUSTOM_ENTITY_ID")
private CustomEntity customEntity;
}
当我尝试使用存储库保存完整的CustomEntity对象时
customEntityRepository.save(customEntity);
然后我面临以下错误。
由于:org.hibernate.PersistentObjectException:分离的实体 传递给坚持:com.rbac.model.CustomEntityRole在 org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:124) 在 org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:806) 在org.hibernate.internal.SessionImpl.persist(SessionImpl.java:773) 在 org.hibernate.jpa.event.internal.core.JpaPersistEventListener $ 1.cascade(JpaPersistEventListener.java:80) 在 org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:467) 在 org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:392) 在 org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:193) 在 org.hibernate.engine.internal.Cascade.cascadeCollectionElements(Cascade.java:500) 在 org.hibernate.engine.internal.Cascade.cascadeCollection(Cascade.java:432) 在 org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:395) 在 org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:193) 在org.hibernate.engine.internal.Cascade.cascade(Cascade.java:126)
请解释我错了 预先感谢。