Hibernate Spring JPA删除@OneTONE关系
我有一个SpringBoot 2.1.3.RELEASE RESTful Web服务应用程序,使用Spring初始值设定项、嵌入式Tomcat、Thymeleaf模板引擎和作为可执行JAR文件的包,我有以下对象:Hibernate Spring JPA删除@OneTONE关系,hibernate,spring-boot,spring-mvc,jpa,spring-data-jpa,Hibernate,Spring Boot,Spring Mvc,Jpa,Spring Data Jpa,我有一个SpringBoot 2.1.3.RELEASE RESTful Web服务应用程序,使用Spring初始值设定项、嵌入式Tomcat、Thymeleaf模板引擎和作为可执行JAR文件的包,我有以下对象: public class ImpactHint implements Serializable { @OneToOne(mappedBy = "impactHint", fetch = FetchType.EAGER, cascade = CascadeType.ALL,
public class ImpactHint implements Serializable {
@OneToOne(mappedBy = "impactHint", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "IA_ID")
private ImpactHintAmendment amendment ;
...
}
而且
public class ImpactHintAmendment implements Serializable, IEntity<String> {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ID")
private String id;
@OneToOne(cascade = {CascadeType.ALL})
@JoinColumn(name = "IA_ID")
private ImpactHint impactHint;
..
}
impactHint.setAmendment(null);
em.persist(impactHint);
impactHint.setAmendment(null);
em.persist(impactHint);
而且
public class ImpactHintAmendment implements Serializable, IEntity<String> {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ID")
private String id;
@OneToOne(cascade = {CascadeType.ALL})
@JoinColumn(name = "IA_ID")
private ImpactHint impactHint;
..
}
impactHint.setAmendment(null);
em.persist(impactHint);
impactHint.setAmendment(null);
em.persist(impactHint);
在我的repository类中,但什么都不起作用
@Repository
public class ImpactHintDao extends AbstractDao<ImpactHint, String> implements IImpactHintDao {
@PersistenceContext
private EntityManager em;
..
}
@存储库
公共类ImpactHintDao扩展了AbstractDao,实现了IImpactHintDao{
@持久上下文
私人实体管理者;
..
}
对于OneTONE双向,使用mappedBy
属性定义反向映射。拥有实体ImpactHint使用@JoinColumn
并具有FK列。第二实体:
public class ImpactHintAmendment {
@OneToOne(mappedBy = "amendment")
private ImpactHint impactHint;
如果更正映射,则孤立删除属性。应该删除修改
而不调用remove