我想在从数据库中删除父对象时删除任何附加的子对象。但它不起作用:
@Entity
public class ParentEntity {
@Id
private Long id;
//must remain unidirectional
@OneToOne(cascade = CascadeType.ALL, orphanRemoval = true)
private MyEntity my;
}
@Entity
public class MyEntity {
private String text;
}
public interface ParentEntityRepository extends CrudRepository<ParentEntity, Long> {}
当我执行时:
@Autowired
private ParentEntityRepository dao;
@Transactional
public void removeId(long id) {
dao.delete(id);
}
结果:
MyEntity
行仍然存在于数据库中!为什么?
最佳答案
你可以试试这个
@OneToOne(cascade = CascadeType.DELETE_ORPHAN)
private MyEntity my;
如果不起作用,您可以尝试以下方法:
关于java - @OneToOne 与 CascadeType.ALL 没有被删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32089967/